Package org.h2.value

Class ValueJson

  • All Implemented Interfaces:
    HasSQL, Typed

    public final class ValueJson
    extends Value
    Implementation of the JSON data type.
    • Field Detail

      • NULL

        public static final ValueJson NULL
        null JSON value.
      • TRUE

        public static final ValueJson TRUE
        true JSON value.
      • FALSE

        public static final ValueJson FALSE
        false JSON value.
      • ZERO

        public static final ValueJson ZERO
        0 JSON value.
    • Method Detail

      • 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.
        Specified by:
        getSQL in interface HasSQL
        Parameters:
        builder - string builder
        sqlFlags - formatting flags
        Returns:
        the specified string builder
      • getType

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

        public int getValueType()
        Description copied from class: Value
        Get the value type.
        Specified by:
        getValueType in class Value
        Returns:
        the value type
      • getString

        public java.lang.String getString()
        Description copied from class: Value
        Get the value as a string.
        Specified by:
        getString in class Value
        Returns:
        the string
      • getItemType

        public JSONItemType getItemType()
        Returns JSON item type.
        Returns:
        JSON item type
      • getDecomposition

        public JSONValue getDecomposition()
        Returns decomposed value.
        Returns:
        decomposed value.
      • fromJson

        public static ValueJson fromJson​(java.lang.String s)
        Returns JSON value with the specified content.
        Parameters:
        s - JSON representation, will be normalized
        Returns:
        JSON value
        Throws:
        DbException - on invalid JSON
      • fromJson

        public static ValueJson fromJson​(byte[] bytes)
        Returns JSON value with the specified content.
        Parameters:
        bytes - JSON representation, will be normalized
        Returns:
        JSON value
        Throws:
        DbException - on invalid JSON
      • fromJson

        public static ValueJson fromJson​(JSONValue value)
        Returns JSON value with the specified content.
        Parameters:
        value - JSON
        Returns:
        JSON value
        Throws:
        DbException - on invalid JSON
      • get

        public static ValueJson get​(boolean bool)
        Returns JSON value with the specified boolean content.
        Parameters:
        bool - boolean value
        Returns:
        JSON value
      • get

        public static ValueJson get​(int number)
        Returns JSON value with the specified numeric content.
        Parameters:
        number - integer value
        Returns:
        JSON value
      • get

        public static ValueJson get​(long number)
        Returns JSON value with the specified numeric content.
        Parameters:
        number - long value
        Returns:
        JSON value
      • get

        public static ValueJson get​(java.math.BigDecimal number)
        Returns JSON value with the specified numeric content.
        Parameters:
        number - big decimal value
        Returns:
        JSON value
      • get

        public static ValueJson get​(java.lang.String string)
        Returns JSON value with the specified string content.
        Parameters:
        string - string value
        Returns:
        JSON value
      • getInternal

        public static ValueJson getInternal​(byte[] bytes)
        Returns JSON value with the specified content.
        Parameters:
        bytes - normalized JSON representation
        Returns:
        JSON value
      • getMemory

        public int getMemory()
        Description copied from class: Value
        Get the memory used by this object.
        Returns:
        the memory used in bytes
      • getBytes

        public final byte[] getBytes()
        Overrides:
        getBytes in class Value
      • getBytesNoCopy

        public final byte[] getBytesNoCopy()
        Overrides:
        getBytesNoCopy in class Value
      • compareTypeSafe

        public final int compareTypeSafe​(Value v,
                                         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 class Value
        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
      • hashCode

        public final int hashCode()
        Specified by:
        hashCode in class Value
      • equals

        public final 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.
        Specified by:
        equals in class Value
        Parameters:
        other - the other value
        Returns:
        true if they are equal