Package org.h2.value

Class Value

All Implemented Interfaces:
HasSQL, Typed
Direct Known Subclasses:
SearchRow, SpatialKey, ValueBigDecimalBase, ValueBigint, ValueBoolean, ValueBytesBase, ValueCollectionBase, ValueDate, ValueDouble, ValueEnumBase, ValueInteger, ValueInterval, ValueLob, ValueNull, ValueReal, ValueSmallint, ValueStringBase, ValueTime, ValueTimestamp, ValueTimestampTimeZone, ValueTimeTimeZone, ValueTinyint, ValueUuid

public abstract class Value extends VersionedValue<Value> implements HasSQL, Typed
This is the base class for all value classes. It provides conversion and comparison methods.
  • Field Details

    • UNKNOWN

      public static final int UNKNOWN
      The data type is unknown at this time.
      See Also:
    • NULL

      public static final int NULL
      The value type for NULL.
      See Also:
    • CHAR

      public static final int CHAR
      The value type for CHARACTER values.
      See Also:
    • VARCHAR

      public static final int VARCHAR
      The value type for CHARACTER VARYING values.
      See Also:
    • CLOB

      public static final int CLOB
      The value type for CHARACTER LARGE OBJECT values.
      See Also:
    • VARCHAR_IGNORECASE

      public static final int VARCHAR_IGNORECASE
      The value type for VARCHAR_IGNORECASE values.
      See Also:
    • BINARY

      public static final int BINARY
      The value type for BINARY values.
      See Also:
    • VARBINARY

      public static final int VARBINARY
      The value type for BINARY VARYING values.
      See Also:
    • BLOB

      public static final int BLOB
      The value type for BINARY LARGE OBJECT values.
      See Also:
    • BOOLEAN

      public static final int BOOLEAN
      The value type for BOOLEAN values.
      See Also:
    • TINYINT

      public static final int TINYINT
      The value type for TINYINT values.
      See Also:
    • SMALLINT

      public static final int SMALLINT
      The value type for SMALLINT values.
      See Also:
    • INTEGER

      public static final int INTEGER
      The value type for INTEGER values.
      See Also:
    • BIGINT

      public static final int BIGINT
      The value type for BIGINT values.
      See Also:
    • NUMERIC

      public static final int NUMERIC
      The value type for NUMERIC values.
      See Also:
    • REAL

      public static final int REAL
      The value type for REAL values.
      See Also:
    • DOUBLE

      public static final int DOUBLE
      The value type for DOUBLE PRECISION values.
      See Also:
    • DECFLOAT

      public static final int DECFLOAT
      The value type for DECFLOAT values.
      See Also:
    • DATE

      public static final int DATE
      The value type for DATE values.
      See Also:
    • TIME

      public static final int TIME
      The value type for TIME values.
      See Also:
    • TIME_TZ

      public static final int TIME_TZ
      The value type for TIME WITH TIME ZONE values.
      See Also:
    • TIMESTAMP

      public static final int TIMESTAMP
      The value type for TIMESTAMP values.
      See Also:
    • TIMESTAMP_TZ

      public static final int TIMESTAMP_TZ
      The value type for TIMESTAMP WITH TIME ZONE values.
      See Also:
    • INTERVAL_YEAR

      public static final int INTERVAL_YEAR
      The value type for INTERVAL YEAR values.
      See Also:
    • INTERVAL_MONTH

      public static final int INTERVAL_MONTH
      The value type for INTERVAL MONTH values.
      See Also:
    • INTERVAL_DAY

      public static final int INTERVAL_DAY
      The value type for INTERVAL DAY values.
      See Also:
    • INTERVAL_HOUR

      public static final int INTERVAL_HOUR
      The value type for INTERVAL HOUR values.
      See Also:
    • INTERVAL_MINUTE

      public static final int INTERVAL_MINUTE
      The value type for INTERVAL MINUTE values.
      See Also:
    • INTERVAL_SECOND

      public static final int INTERVAL_SECOND
      The value type for INTERVAL SECOND values.
      See Also:
    • INTERVAL_YEAR_TO_MONTH

      public static final int INTERVAL_YEAR_TO_MONTH
      The value type for INTERVAL YEAR TO MONTH values.
      See Also:
    • INTERVAL_DAY_TO_HOUR

      public static final int INTERVAL_DAY_TO_HOUR
      The value type for INTERVAL DAY TO HOUR values.
      See Also:
    • INTERVAL_DAY_TO_MINUTE

      public static final int INTERVAL_DAY_TO_MINUTE
      The value type for INTERVAL DAY TO MINUTE values.
      See Also:
    • INTERVAL_DAY_TO_SECOND

      public static final int INTERVAL_DAY_TO_SECOND
      The value type for INTERVAL DAY TO SECOND values.
      See Also:
    • INTERVAL_HOUR_TO_MINUTE

      public static final int INTERVAL_HOUR_TO_MINUTE
      The value type for INTERVAL HOUR TO MINUTE values.
      See Also:
    • INTERVAL_HOUR_TO_SECOND

      public static final int INTERVAL_HOUR_TO_SECOND
      The value type for INTERVAL HOUR TO SECOND values.
      See Also:
    • INTERVAL_MINUTE_TO_SECOND

      public static final int INTERVAL_MINUTE_TO_SECOND
      The value type for INTERVAL MINUTE TO SECOND values.
      See Also:
    • JAVA_OBJECT

      public static final int JAVA_OBJECT
      The value type for JAVA_OBJECT values.
      See Also:
    • ENUM

      public static final int ENUM
      The value type for ENUM values.
      See Also:
    • GEOMETRY

      public static final int GEOMETRY
      The value type for string values with a fixed size.
      See Also:
    • JSON

      public static final int JSON
      The value type for JSON values.
      See Also:
    • UUID

      public static final int UUID
      The value type for UUID values.
      See Also:
    • ARRAY

      public static final int ARRAY
      The value type for ARRAY values.
      See Also:
    • ROW

      public static final int ROW
      The value type for ROW values.
      See Also:
    • TYPE_COUNT

      public static final int TYPE_COUNT
      The number of value types.
      See Also:
    • GROUP_NULL

      static final int GROUP_NULL
      Group for untyped NULL data type.
      See Also:
    • GROUP_CHARACTER_STRING

      static final int GROUP_CHARACTER_STRING
      Group for character string data types.
      See Also:
    • GROUP_BINARY_STRING

      static final int GROUP_BINARY_STRING
      Group for binary string data types.
      See Also:
    • GROUP_BOOLEAN

      static final int GROUP_BOOLEAN
      Group for BINARY data type.
      See Also:
    • GROUP_NUMERIC

      static final int GROUP_NUMERIC
      Group for numeric data types.
      See Also:
    • GROUP_DATETIME

      static final int GROUP_DATETIME
      Group for datetime data types.
      See Also:
    • GROUP_INTERVAL_YM

      static final int GROUP_INTERVAL_YM
      Group for year-month interval data types.
      See Also:
    • GROUP_INTERVAL_DT

      static final int GROUP_INTERVAL_DT
      Group for day-time interval data types.
      See Also:
    • GROUP_OTHER

      static final int GROUP_OTHER
      Group for other data types (JAVA_OBJECT, UUID, GEOMETRY, ENUM, JSON).
      See Also:
    • GROUP_COLLECTION

      static final int GROUP_COLLECTION
      Group for collection data types (ARRAY, ROW).
      See Also:
    • GROUPS

      static final byte[] GROUPS
    • NAMES

      private static final String[] NAMES
    • EMPTY_VALUES

      public static final Value[] EMPTY_VALUES
      Empty array of values.
    • softCache

      private static SoftReference<Value[]> softCache
    • MAX_LONG_DECIMAL

      static final BigDecimal MAX_LONG_DECIMAL
    • MIN_LONG_DECIMAL

      public static final BigDecimal MIN_LONG_DECIMAL
      The smallest Long value, as a BigDecimal.
    • CONVERT_TO

      static final int CONVERT_TO
      Convert a value to the specified type without taking scale and precision into account.
      See Also:
    • CAST_TO

      static final int CAST_TO
      Cast a value to the specified type. The scale is set if applicable. The value is truncated to a required precision.
      See Also:
    • ASSIGN_TO

      static final int ASSIGN_TO
      Cast a value to the specified type for assignment. The scale is set if applicable. If precision is too large an exception is thrown.
      See Also:
  • Constructor Details

    • Value

      public Value()
  • Method Details

    • getTypeName

      public static String getTypeName(int valueType)
      Returns name of the specified data type.
      Parameters:
      valueType - the value type
      Returns:
      the name
    • rangeCheck

      static void rangeCheck(long zeroBasedOffset, long length, long dataSize)
      Check the range of the parameters.
      Parameters:
      zeroBasedOffset - the offset (0 meaning no offset)
      length - the length of the target
      dataSize - the length of the source
    • getType

      public abstract TypeInfo getType()
      Description copied from interface: Typed
      Returns the data type.
      Specified by:
      getType in interface Typed
      Returns:
      the data type
    • getValueType

      public abstract int getValueType()
      Get the value type.
      Returns:
      the value type
    • getMemory

      public int getMemory()
      Get the memory used by this object.
      Returns:
      the memory used in bytes
    • hashCode

      public abstract int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public abstract boolean equals(Object other)
      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.
      Overrides:
      equals in class Object
      Parameters:
      other - the other value
      Returns:
      true if they are equal
    • getHigherOrder

      public static int getHigherOrder(int t1, int t2)
      Get the higher value order type of two value types. If values need to be converted to match the other operands value type, the value with the lower order is converted to the value with the higher order.
      Parameters:
      t1 - the first value type
      t2 - the second value type
      Returns:
      the higher value type of the two
    • getHigherOrderKnown

      static int getHigherOrderKnown(int t1, int t2)
    • getHigherNumeric

      private static int getHigherNumeric(int t1, int t2, int g2)
    • getHigherDateTime

      private static int getHigherDateTime(int t1, int t2, int g2)
    • getHigherIntervalYearMonth

      private static int getHigherIntervalYearMonth(int t1, int t2, int g2)
    • getHigherIntervalDayTime

      private static int getHigherIntervalDayTime(int t1, int t2, int g2)
    • getHigherOther

      private static int getHigherOther(int t1, int t2, int g2)
    • getDataTypeCombinationException

      private static DbException getDataTypeCombinationException(int t1, int t2)
    • cache

      static Value cache(Value v)
      Check if a value is in the cache that is equal to this value. If yes, this value should be used to save memory. If the value is not in the cache yet, it is added.
      Parameters:
      v - the value to look for
      Returns:
      the value in the cache or the value passed
    • clearCache

      public static void clearCache()
      Clear the value cache. Used for testing.
    • getString

      public abstract String getString()
      Get the value as a string.
      Returns:
      the string
    • getReader

      public Reader getReader()
    • getReader

      public Reader getReader(long oneBasedOffset, long length)
      Get the reader
      Parameters:
      oneBasedOffset - the offset (1 means no offset)
      length - the requested length
      Returns:
      the new reader
    • getBytes

      public byte[] getBytes()
    • getBytesNoCopy

      public byte[] getBytesNoCopy()
    • getInputStream

      public InputStream getInputStream()
    • getInputStream

      public InputStream getInputStream(long oneBasedOffset, long length)
      Get the input stream
      Parameters:
      oneBasedOffset - the offset (1 means no offset)
      length - the requested length
      Returns:
      the new input stream
    • getBoolean

      public boolean getBoolean()
      Returns this value as a Java boolean value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to BOOLEAN
      See Also:
    • getByte

      public byte getByte()
      Returns this value as a Java byte value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to TINYINT
    • getShort

      public short getShort()
      Returns this value as a Java short value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to SMALLINT
    • getInt

      public int getInt()
      Returns this value as a Java int value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to INTEGER
    • getLong

      public long getLong()
      Returns this value as a Java long value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to BIGINT
    • getBigDecimal

      public BigDecimal getBigDecimal()
    • getFloat

      public float getFloat()
      Returns this value as a Java float value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to REAL
    • getDouble

      public double getDouble()
      Returns this value as a Java double value.
      Returns:
      value
      Throws:
      DbException - if this value is NULL or cannot be casted to DOUBLE PRECISION
    • add

      public Value add(Value v)
      Add a value and return the result.
      Parameters:
      v - the value to add
      Returns:
      the result
    • getSignum

      public int getSignum()
    • negate

      public Value negate()
      Return -value if this value support arithmetic operations.
      Returns:
      the negative
    • subtract

      public Value subtract(Value v)
      Subtract a value and return the result.
      Parameters:
      v - the value to subtract
      Returns:
      the result
    • divide

      public Value divide(Value v, TypeInfo quotientType)
      Divide by a value and return the result.
      Parameters:
      v - the divisor
      quotientType - the type of quotient (used only to read precision and scale when applicable)
      Returns:
      the result
    • multiply

      public Value multiply(Value v)
      Multiply with a value and return the result.
      Parameters:
      v - the value to multiply with
      Returns:
      the result
    • modulus

      public Value modulus(Value v)
      Take the modulus with a value and return the result.
      Parameters:
      v - the value to take the modulus with
      Returns:
      the result
    • convertTo

      public final Value convertTo(int targetType)
      Convert a value to the specified type without taking scale and precision into account.
      Parameters:
      targetType - the type of the returned value
      Returns:
      the converted value
    • convertTo

      public final Value convertTo(TypeInfo targetType)
      Convert a value to the specified type without taking scale and precision into account.
      Parameters:
      targetType - the type of the returned value
      Returns:
      the converted value
    • convertTo

      public final Value convertTo(int targetType, CastDataProvider provider)
      Convert a value to the specified type without taking scale and precision into account.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      Returns:
      the converted value
    • convertTo

      public final Value convertTo(TypeInfo targetType, CastDataProvider provider)
      Convert a value to the specified type without taking scale and precision into account.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      Returns:
      the converted value
    • convertTo

      public final Value convertTo(TypeInfo targetType, CastDataProvider provider, Object column)
      Convert a value to the specified type without taking scale and precision into account.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      column - the column, used to improve the error message if conversion fails
      Returns:
      the converted value
    • convertToAnyArray

      public final ValueArray convertToAnyArray(CastDataProvider provider)
      Convert this value to any ARRAY data type.
      Parameters:
      provider - the cast information provider
      Returns:
      a row value
    • convertToAnyRow

      public final ValueRow convertToAnyRow()
      Convert this value to any ROW data type.
      Returns:
      a row value
    • castTo

      public final Value castTo(TypeInfo targetType, CastDataProvider provider)
      Cast a value to the specified type. The scale is set if applicable. The value is truncated to the required precision.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      Returns:
      the converted value
    • convertForAssignTo

      public final Value convertForAssignTo(TypeInfo targetType, CastDataProvider provider, Object column)
      Cast a value to the specified type for assignment. The scale is set if applicable. If precision is too large an exception is thrown.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      column - the column, used to improve the error message if conversion fails
      Returns:
      the converted value
    • convertTo

      private Value convertTo(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
      Convert a value to the specified type.
      Parameters:
      targetType - the type of the returned value
      provider - the cast information provider
      conversionMode - conversion mode
      column - the column (if any), used to improve the error message if conversion fails
      Returns:
      the converted value
    • convertToChar

      public ValueChar convertToChar()
      Converts this value to a CHAR value. May not be called on a NULL value.
      Returns:
      a CHAR value.
    • convertToChar

      private ValueChar convertToChar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
    • convertToVarchar

      private Value convertToVarchar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
    • convertToClob

      private ValueClob convertToClob(TypeInfo targetType, int conversionMode, Object column)
    • convertToVarcharIgnoreCase

      private Value convertToVarcharIgnoreCase(TypeInfo targetType, int conversionMode, Object column)
    • convertToBinary

      private ValueBinary convertToBinary(TypeInfo targetType, int conversionMode, Object column)
    • convertToVarbinary

      private ValueVarbinary convertToVarbinary(TypeInfo targetType, int conversionMode, Object column)
    • convertToBlob

      private ValueBlob convertToBlob(TypeInfo targetType, int conversionMode, Object column)
    • convertToBoolean

      public final ValueBoolean convertToBoolean()
      Converts this value to a BOOLEAN value. May not be called on a NULL value.
      Returns:
      the BOOLEAN value
    • convertToTinyint

      public final ValueTinyint convertToTinyint(Object column)
      Converts this value to a TINYINT value. May not be called on a NULL value.
      Parameters:
      column - the column, used for to improve the error message if conversion fails
      Returns:
      the TINYINT value
    • convertToSmallint

      public final ValueSmallint convertToSmallint(Object column)
      Converts this value to a SMALLINT value. May not be called on a NULL value.
      Parameters:
      column - the column, used for to improve the error message if conversion fails
      Returns:
      the SMALLINT value
    • convertToInt

      public final ValueInteger convertToInt(Object column)
      Converts this value to a INT value. May not be called on a NULL value.
      Parameters:
      column - the column, used for to improve the error message if conversion fails
      Returns:
      the INT value
    • convertToBigint

      public final ValueBigint convertToBigint(Object column)
      Converts this value to a BIGINT value. May not be called on a NULL value.
      Parameters:
      column - the column, used for to improve the error message if conversion fails
      Returns:
      the BIGINT value
    • convertToNumeric

      private ValueNumeric convertToNumeric(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
    • convertToReal

      public final ValueReal convertToReal()
      Converts this value to a REAL value. May not be called on a NULL value.
      Returns:
      the REAL value
    • convertToDouble

      public final ValueDouble convertToDouble()
      Converts this value to a DOUBLE value. May not be called on a NULL value.
      Returns:
      the DOUBLE value
    • convertToDecfloat

      private ValueDecfloat convertToDecfloat(TypeInfo targetType, int conversionMode)
    • convertToDate

      public final ValueDate convertToDate(CastDataProvider provider)
      Converts this value to a DATE value. May not be called on a NULL value.
      Parameters:
      provider - the cast information provider
      Returns:
      the DATE value
    • convertToTime

      private ValueTime convertToTime(TypeInfo targetType, CastDataProvider provider, int conversionMode)
    • convertToTimeTimeZone

      private ValueTimeTimeZone convertToTimeTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode)
    • convertToTimestamp

      private ValueTimestamp convertToTimestamp(TypeInfo targetType, CastDataProvider provider, int conversionMode)
    • getLocalTimeNanos

      private long getLocalTimeNanos(CastDataProvider provider)
    • convertToTimestampTimeZone

      private ValueTimestampTimeZone convertToTimestampTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode)
    • convertToIntervalYearMonth

      private ValueInterval convertToIntervalYearMonth(TypeInfo targetType, int conversionMode, Object column)
    • convertToIntervalYearMonth

      private ValueInterval convertToIntervalYearMonth(int targetType, Object column)
    • convertToIntervalDayTime

      private ValueInterval convertToIntervalDayTime(TypeInfo targetType, int conversionMode, Object column)
    • convertToIntervalDayTime

      private ValueInterval convertToIntervalDayTime(int targetType, Object column)
    • convertToIntervalDayTime

      private ValueInterval convertToIntervalDayTime(BigDecimal bigDecimal, int targetType)
    • convertToJavaObject

      public final ValueJavaObject convertToJavaObject(TypeInfo targetType, int conversionMode, Object column)
      Converts this value to a JAVA_OBJECT value. May not be called on a NULL value.
      Parameters:
      targetType - the type of the returned value
      conversionMode - conversion mode
      column - the column (if any), used to improve the error message if conversion fails
      Returns:
      the JAVA_OBJECT value
    • convertToEnum

      public final ValueEnum convertToEnum(ExtTypeInfoEnum extTypeInfo, CastDataProvider provider)
      Converts this value to an ENUM value. May not be called on a NULL value.
      Parameters:
      extTypeInfo - the extended data type information
      provider - the cast information provider
      Returns:
      the ENUM value
    • convertToGeometry

      public final ValueGeometry convertToGeometry(ExtTypeInfoGeometry extTypeInfo)
      Converts this value to a GEOMETRY value. May not be called on a NULL value.
      Parameters:
      extTypeInfo - the extended data type information, or null
      Returns:
      the GEOMETRY value
    • convertToJson

      private ValueJson convertToJson(TypeInfo targetType, int conversionMode, Object column)
    • convertToUuid

      public final ValueUuid convertToUuid()
      Converts this value to a UUID value. May not be called on a NULL value.
      Returns:
      the UUID value
    • convertToArray

      private ValueArray convertToArray(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
    • convertToRow

      private Value convertToRow(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column)
    • getDataConversionError

      final DbException getDataConversionError(int targetType)
      Creates new instance of the DbException for data conversion error.
      Parameters:
      targetType - Target data type.
      Returns:
      instance of the DbException.
    • getDataConversionError

      final DbException getDataConversionError(TypeInfo targetType)
      Creates new instance of the DbException for data conversion error.
      Parameters:
      targetType - target data type.
      Returns:
      instance of the DbException.
    • getValueTooLongException

      final DbException getValueTooLongException(TypeInfo targetType, Object column)
    • compareTypeSafe

      public abstract int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
      Compare this value against another value given that the values are of the same data type.
      Parameters:
      v - the other value
      mode - the compare mode
      provider - the cast information provider
      Returns:
      0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
    • compareTo

      public final int compareTo(Value v, CastDataProvider provider, CompareMode compareMode)
      Compare this value against another value using the specified compare mode.
      Parameters:
      v - the other value
      provider - the cast information provider
      compareMode - the compare mode
      Returns:
      0 if both values are equal, -1 if this value is smaller, and 1 otherwise
    • compareToNotNullable

      private int compareToNotNullable(Value v, CastDataProvider provider, CompareMode compareMode)
    • compareWithNull

      public int compareWithNull(Value v, boolean forEquality, CastDataProvider provider, CompareMode compareMode)
      Compare this value against another value using the specified compare mode.
      Parameters:
      v - the other value
      forEquality - perform only check for equality
      provider - the cast information provider
      compareMode - the compare mode
      Returns:
      0 if both values are equal, -1 if this value is smaller, 1 if other value is larger, Integer.MIN_VALUE if order is not defined due to NULL comparison
    • containsNull

      public boolean containsNull()
      Returns true if this value is NULL or contains NULL value.
      Returns:
      true if this value is NULL or contains NULL value
    • convertToByte

      private static byte convertToByte(long x, Object column)
    • convertToShort

      private static short convertToShort(long x, Object column)
    • convertToInt

      public static int convertToInt(long x, Object column)
      Convert to integer, throwing exception if out of range.
      Parameters:
      x - integer value.
      column - Column info.
      Returns:
      x
    • convertToLong

      private static long convertToLong(double x, Object column)
    • convertToLong

      private static long convertToLong(BigDecimal x, Object column)
    • getColumnName

      private static String getColumnName(Object column)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getUnsupportedExceptionForOperation

      protected final DbException getUnsupportedExceptionForOperation(String op)
      Create an exception meaning the specified operation is not supported for this data type.
      Parameters:
      op - the operation
      Returns:
      the exception
    • charLength

      public long charLength()
      Returns length of this value in characters.
      Returns:
      length of this value in characters
      Throws:
      NullPointerException - if this value is NULL
    • octetLength

      public long octetLength()
      Returns length of this value in bytes.
      Returns:
      length of this value in bytes
      Throws:
      NullPointerException - if this value is NULL
    • isTrue

      public final boolean isTrue()
      Returns whether this value IS TRUE.
      Returns:
      true if it is. For BOOLEAN values returns true for TRUE and false for FALSE and UNKNOWN (NULL).
      See Also:
    • isFalse

      public final boolean isFalse()
      Returns whether this value IS FALSE.
      Returns:
      true if it is. For BOOLEAN values returns true for FALSE and false for TRUE and UNKNOWN (NULL).
      See Also: