Package org.h2.mvstore.type
Interface DataType<T>
-
- All Superinterfaces:
java.util.Comparator<T>
- All Known Implementing Classes:
BasicDataType,ByteArrayDataType,LobStorageMap.BlobMeta.Type,LobStorageMap.BlobReference.Type,LongDataType,MetaType,MVStoreTool.GenericDataType,NullValueDataType,ObjectDataType,ObjectDataType.AutoDetectDataType,ObjectDataType.BigDecimalType,ObjectDataType.BigIntegerType,ObjectDataType.BooleanType,ObjectDataType.ByteType,ObjectDataType.CharacterType,ObjectDataType.DateType,ObjectDataType.DoubleType,ObjectDataType.FloatType,ObjectDataType.IntegerType,ObjectDataType.LongType,ObjectDataType.NullType,ObjectDataType.ObjectArrayType,ObjectDataType.SerializedObjectType,ObjectDataType.ShortType,ObjectDataType.StringType,ObjectDataType.UUIDType,Record.Type,RowDataType,SpatialDataType,StringDataType,ValueDataType,VersionedValueType
public interface DataType<T> extends java.util.Comparator<T>A data type.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intbinarySearch(T key, java.lang.Object storage, int size, int initialGuess)Perform binary search for the key within the storageintcompare(T a, T b)Compare two keys.T[]createStorage(int size)Create storage object of array type to hold valuesintgetMemory(T obj)Calculates the amount of used memory in bytes.booleanisMemoryEstimationAllowed()Whether memory estimation based on previously seen values is allowed/desirableTread(java.nio.ByteBuffer buff)Read an object.voidread(java.nio.ByteBuffer buff, java.lang.Object storage, int len)Read a list of objects.voidwrite(WriteBuffer buff, java.lang.Object storage, int len)Write a list of objects.voidwrite(WriteBuffer buff, T obj)Write an object.
-
-
-
Method Detail
-
compare
int compare(T a, T b)
Compare two keys.- Specified by:
comparein interfacejava.util.Comparator<T>- Parameters:
a- the first keyb- the second key- Returns:
- -1 if the first key is smaller, 1 if larger, and 0 if equal
- Throws:
java.lang.UnsupportedOperationException- if the type is not orderable
-
binarySearch
int binarySearch(T key, java.lang.Object storage, int size, int initialGuess)
Perform binary search for the key within the storage- Parameters:
key- to search forstorage- to search within (an array of type T)size- number of data items in the storageinitialGuess- for key position- Returns:
- index of the key , if found, - index of the insertion point, if not
-
getMemory
int getMemory(T obj)
Calculates the amount of used memory in bytes.- Parameters:
obj- the object- Returns:
- the used memory
-
isMemoryEstimationAllowed
boolean isMemoryEstimationAllowed()
Whether memory estimation based on previously seen values is allowed/desirable- Returns:
- true if memory estimation is allowed
-
write
void write(WriteBuffer buff, T obj)
Write an object.- Parameters:
buff- the target bufferobj- the value
-
write
void write(WriteBuffer buff, java.lang.Object storage, int len)
Write a list of objects.- Parameters:
buff- the target bufferstorage- the objectslen- the number of objects to write
-
read
T read(java.nio.ByteBuffer buff)
Read an object.- Parameters:
buff- the source buffer- Returns:
- the object
-
read
void read(java.nio.ByteBuffer buff, java.lang.Object storage, int len)Read a list of objects.- Parameters:
buff- the target bufferstorage- the objectslen- the number of objects to read
-
createStorage
T[] createStorage(int size)
Create storage object of array type to hold values- Parameters:
size- number of values to hold- Returns:
- storage object
-
-