Package org.h2.value
Class ValueUuid
Implementation of the UUID data type.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int
The display size of the textual representation of a UUID.private final long
private final long
(package private) static final int
The precision of this value in number of bytes.Fields inherited from class org.h2.value.Value
ARRAY, ASSIGN_TO, BIGINT, BINARY, BLOB, BOOLEAN, CAST_TO, CHAR, CLOB, CONVERT_TO, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, GROUP_BINARY_STRING, GROUP_BOOLEAN, GROUP_CHARACTER_STRING, GROUP_COLLECTION, GROUP_DATETIME, GROUP_INTERVAL_DT, GROUP_INTERVAL_YM, GROUP_NULL, GROUP_NUMERIC, GROUP_OTHER, GROUPS, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MAX_LONG_DECIMAL, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringBuilder
addString
(StringBuilder builder) long
Returns length of this value in characters.int
compareTypeSafe
(Value o, CompareMode mode, CastDataProvider provider) Compare this value against another value given that the values are of the same data type.boolean
Check if the two values have the same hash code.static ValueUuid
get
(byte[] binary) Get or create a UUID for the given 16 bytes.static ValueUuid
get
(long high, long low) Get or create a UUID for the given high and low order values.static ValueUuid
Get or create a UUID for the given text representation.static ValueUuid
Get or create a UUID for the given Java UUID.byte[]
getBytes()
long
getHigh()
Get the most significant 64 bits of this UUID.long
getLow()
Get the least significant 64 bits of this UUID.int
Get the memory used by this object.static ValueUuid
Create a new UUID using the pseudo random number generator.getSQL
(StringBuilder builder, int sqlFlags) Appends the SQL statement of this object to the specified builder.Get the value as a string.getType()
Returns the data type.getUuid()
Returns the UUID.int
Get the value type.int
hashCode()
long
Returns length of this value in bytes.Methods inherited from class org.h2.value.Value
add, cache, castTo, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBoolean, getByte, getBytesNoCopy, getDataConversionError, getDataConversionError, getDouble, getFloat, getHigherOrder, getHigherOrderKnown, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, modulus, multiply, negate, rangeCheck, subtract, toString
Methods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommitted
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
Field Details
-
PRECISION
static final int PRECISIONThe precision of this value in number of bytes.- See Also:
-
DISPLAY_SIZE
static final int DISPLAY_SIZEThe display size of the textual representation of a UUID. Example: cd38d882-7ada-4589-b5fb-7da0ca559d9a- See Also:
-
high
private final long high -
low
private final long low
-
-
Constructor Details
-
ValueUuid
private ValueUuid(long high, long low)
-
-
Method Details
-
hashCode
public int hashCode() -
getNewRandom
Create a new UUID using the pseudo random number generator.- Returns:
- the new UUID
-
get
Get or create a UUID for the given 16 bytes.- Parameters:
binary
- the byte array- Returns:
- the UUID
-
get
Get or create a UUID for the given high and low order values.- Parameters:
high
- the most significant bitslow
- the least significant bits- Returns:
- the UUID
-
get
Get or create a UUID for the given Java UUID.- Parameters:
uuid
- Java UUID- Returns:
- the UUID
-
get
Get or create a UUID for the given text representation.- Parameters:
s
- the text representation of the UUID- Returns:
- the UUID
-
getSQL
Description copied from interface:HasSQL
Appends the SQL statement of this object to the specified builder.- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
getType
Description copied from interface:Typed
Returns the data type. -
getMemory
public int getMemory()Description copied from class:Value
Get the memory used by this object. -
getValueType
public int getValueType()Description copied from class:Value
Get the value type.- Specified by:
getValueType
in classValue
- Returns:
- the value type
-
getString
Description copied from class:Value
Get the value as a string. -
getBytes
public byte[] getBytes() -
addString
-
compareTypeSafe
Description copied from class:Value
Compare this value against another value given that the values are of the same data type.- Specified by:
compareTypeSafe
in classValue
- Parameters:
o
- the other valuemode
- the compare modeprovider
- the cast information provider- Returns:
- 0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
-
equals
Description copied from class:Value
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00. -
getUuid
Returns the UUID.- Returns:
- the UUID
-
getHigh
public long getHigh()Get the most significant 64 bits of this UUID.- Returns:
- the high order bits
-
getLow
public long getLow()Get the least significant 64 bits of this UUID.- Returns:
- the low order bits
-
charLength
public long charLength()Description copied from class:Value
Returns length of this value in characters.- Overrides:
charLength
in classValue
- Returns:
- length of this value in characters
-
octetLength
public long octetLength()Description copied from class:Value
Returns length of this value in bytes.- Overrides:
octetLength
in classValue
- Returns:
- length of this value in bytes
-