Package org.h2.value
Class ValueUuid
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueUuid
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
DISPLAY_SIZE
The display size of the textual representation of a UUID.private long
high
private long
low
(package private) static int
PRECISION
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 Modifier Constructor Description private
ValueUuid(long high, long low)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringBuilder
addString(java.lang.StringBuilder builder)
long
charLength()
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
equals(java.lang.Object other)
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(java.lang.String s)
Get or create a UUID for the given text representation.static ValueUuid
get(java.util.UUID uuid)
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
getMemory()
Get the memory used by this object.static ValueUuid
getNewRandom()
Create a new UUID using the pseudo random number generator.java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder, int sqlFlags)
Appends the SQL statement of this object to the specified builder.java.lang.String
getString()
Get the value as a string.TypeInfo
getType()
Returns the data type.java.util.UUID
getUuid()
Returns the UUID.int
getValueType()
Get the value type.int
hashCode()
long
octetLength()
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 Detail
-
PRECISION
static final int PRECISION
The precision of this value in number of bytes.- See Also:
- Constant Field Values
-
DISPLAY_SIZE
static final int DISPLAY_SIZE
The display size of the textual representation of a UUID. Example: cd38d882-7ada-4589-b5fb-7da0ca559d9a- See Also:
- Constant Field Values
-
high
private final long high
-
low
private final long low
-
-
Method Detail
-
getNewRandom
public static ValueUuid getNewRandom()
Create a new UUID using the pseudo random number generator.- Returns:
- the new UUID
-
get
public static ValueUuid get(byte[] binary)
Get or create a UUID for the given 16 bytes.- Parameters:
binary
- the byte array- Returns:
- the UUID
-
get
public static ValueUuid get(long high, long low)
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
public static ValueUuid get(java.util.UUID uuid)
Get or create a UUID for the given Java UUID.- Parameters:
uuid
- Java UUID- Returns:
- the UUID
-
get
public static ValueUuid get(java.lang.String s)
Get or create a UUID for the given text representation.- Parameters:
s
- the text representation of the UUID- Returns:
- the UUID
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)
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
-
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
public java.lang.String getString()
Description copied from class:Value
Get the value as a string.
-
addString
private java.lang.StringBuilder addString(java.lang.StringBuilder builder)
-
compareTypeSafe
public int compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
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
public boolean equals(java.lang.Object other)
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
public java.util.UUID 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
-
-