Package org.h2.value

Class ValueJson

All Implemented Interfaces:
HasSQL, Typed

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

    • 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 Details

    • getSQL

      public StringBuilder getSQL(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 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(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(BigDecimal number)
      Returns JSON value with the specified numeric content.
      Parameters:
      number - big decimal value
      Returns:
      JSON value
    • get

      public static ValueJson get(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(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