Package org.h2.mvstore.tx
Class VersionedValueType<T,D>
- java.lang.Object
-
- org.h2.mvstore.type.BasicDataType<VersionedValue<T>>
-
- org.h2.mvstore.tx.VersionedValueType<T,D>
-
- All Implemented Interfaces:
java.util.Comparator<VersionedValue<T>>,DataType<VersionedValue<T>>,StatefulDataType<D>
public class VersionedValueType<T,D> extends BasicDataType<VersionedValue<T>> implements StatefulDataType<D>
The value type for a versioned value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVersionedValueType.Factory<D>
-
Constructor Summary
Constructors Constructor Description VersionedValueType(DataType<T> valueType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(VersionedValue<T> a, VersionedValue<T> b)Compare two keys.VersionedValue<T>[]createStorage(int size)Create storage object of array type to hold valuesbooleanequals(java.lang.Object obj)VersionedValueType.Factory<D>getFactory()intgetMemory(VersionedValue<T> v)Calculates the amount of used memory in bytes.private intgetValMemory(T obj)inthashCode()VersionedValue<T>read(java.nio.ByteBuffer buff)Read an object.voidread(java.nio.ByteBuffer buff, java.lang.Object storage, int len)Read a list of objects.voidsave(WriteBuffer buff, MetaType<D> metaType)Save the state.voidwrite(WriteBuffer buff, java.lang.Object storage, int len)Write a list of objects.voidwrite(WriteBuffer buff, VersionedValue<T> v)Write an object.-
Methods inherited from class org.h2.mvstore.type.BasicDataType
binarySearch, cast, isMemoryEstimationAllowed
-
-
-
-
Field Detail
-
factory
private final VersionedValueType.Factory<D> factory
-
-
Method Detail
-
createStorage
public VersionedValue<T>[] createStorage(int size)
Description copied from interface:DataTypeCreate storage object of array type to hold values- Specified by:
createStoragein interfaceDataType<T>- Parameters:
size- number of values to hold- Returns:
- storage object
-
getMemory
public int getMemory(VersionedValue<T> v)
Description copied from interface:DataTypeCalculates the amount of used memory in bytes.- Specified by:
getMemoryin interfaceDataType<T>- Specified by:
getMemoryin classBasicDataType<VersionedValue<T>>- Parameters:
v- the object- Returns:
- the used memory
-
getValMemory
private int getValMemory(T obj)
-
read
public void read(java.nio.ByteBuffer buff, java.lang.Object storage, int len)Description copied from interface:DataTypeRead a list of objects.- Specified by:
readin interfaceDataType<T>- Overrides:
readin classBasicDataType<VersionedValue<T>>- Parameters:
buff- the target bufferstorage- the objectslen- the number of objects to read
-
read
public VersionedValue<T> read(java.nio.ByteBuffer buff)
Description copied from interface:DataTypeRead an object.- Specified by:
readin interfaceDataType<T>- Specified by:
readin classBasicDataType<VersionedValue<T>>- Parameters:
buff- the source buffer- Returns:
- the object
-
write
public void write(WriteBuffer buff, java.lang.Object storage, int len)
Description copied from interface:DataTypeWrite a list of objects.- Specified by:
writein interfaceDataType<T>- Overrides:
writein classBasicDataType<VersionedValue<T>>- Parameters:
buff- the target bufferstorage- the objectslen- the number of objects to write
-
write
public void write(WriteBuffer buff, VersionedValue<T> v)
Description copied from interface:DataTypeWrite an object.- Specified by:
writein interfaceDataType<T>- Specified by:
writein classBasicDataType<VersionedValue<T>>- Parameters:
buff- the target bufferv- the value
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacejava.util.Comparator<T>- Overrides:
equalsin classBasicDataType<VersionedValue<T>>
-
hashCode
public int hashCode()
- Overrides:
hashCodein classBasicDataType<VersionedValue<T>>
-
save
public void save(WriteBuffer buff, MetaType<D> metaType)
Description copied from interface:StatefulDataTypeSave the state.- Specified by:
savein interfaceStatefulDataType<T>- Parameters:
buff- the target buffermetaType- the meta type
-
compare
public int compare(VersionedValue<T> a, VersionedValue<T> b)
Description copied from interface:DataTypeCompare two keys.- Specified by:
comparein interfacejava.util.Comparator<T>- Specified by:
comparein interfaceDataType<T>- Overrides:
comparein classBasicDataType<VersionedValue<T>>- Parameters:
a- the first keyb- the second key- Returns:
- -1 if the first key is smaller, 1 if larger, and 0 if equal
-
getFactory
public VersionedValueType.Factory<D> getFactory()
- Specified by:
getFactoryin interfaceStatefulDataType<T>
-
-