Package org.h2.value
Class ValueJson
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueBytesBase
-
- org.h2.value.ValueJson
-
public final class ValueJson extends ValueBytesBase
Implementation of the JSON data type.
-
-
Field Summary
Fields Modifier and Type Field Description static ValueJson
FALSE
false
JSON value.private static byte[]
FALSE_BYTES
static ValueJson
NULL
null
JSON value.private static byte[]
NULL_BYTES
static ValueJson
TRUE
true
JSON value.private static byte[]
TRUE_BYTES
static ValueJson
ZERO
0
JSON value.-
Fields inherited from class org.h2.value.ValueBytesBase
hash, value
-
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, 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
ValueJson(byte[] value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ValueJson
fromJson(byte[] bytes)
Returns JSON value with the specified content.static ValueJson
fromJson(java.lang.String s)
Returns JSON value with the specified content.static ValueJson
get(boolean bool)
Returns JSON value with the specified boolean content.static ValueJson
get(int number)
Returns JSON value with the specified numeric content.static ValueJson
get(long number)
Returns JSON value with the specified numeric content.static ValueJson
get(java.lang.String string)
Returns JSON value with the specified string content.static ValueJson
get(java.math.BigDecimal number)
Returns JSON value with the specified numeric content.static ValueJson
getInternal(byte[] bytes)
Returns JSON value with the specified content.JSONItemType
getItemType()
Returns JSON item type.private static ValueJson
getNumber(java.lang.String s)
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.int
getValueType()
Get the value type.-
Methods inherited from class org.h2.value.ValueBytesBase
compareTypeSafe, equals, getBytes, getBytesNoCopy, getMemory, hashCode
-
Methods inherited from class org.h2.value.Value
add, cache, castTo, charLength, 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, getDataConversionError, getDataConversionError, getDouble, getFloat, getHigherOrder, getHigherOrderKnown, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, modulus, multiply, negate, octetLength, 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
-
NULL_BYTES
private static final byte[] NULL_BYTES
-
TRUE_BYTES
private static final byte[] TRUE_BYTES
-
FALSE_BYTES
private static final byte[] FALSE_BYTES
-
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 interfaceHasSQL
- Overrides:
getSQL
in classValueBytesBase
- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
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.
-
getItemType
public JSONItemType getItemType()
Returns JSON item type.- Returns:
- JSON item type
-
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
-
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
-
getNumber
private static ValueJson getNumber(java.lang.String s)
-
-