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 ValueJsonFALSEfalseJSON value.private static byte[]FALSE_BYTESstatic ValueJsonNULLnullJSON value.private static byte[]NULL_BYTESstatic ValueJsonTRUEtrueJSON value.private static byte[]TRUE_BYTESstatic ValueJsonZERO0JSON 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 privateValueJson(byte[] value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ValueJsonfromJson(byte[] bytes)Returns JSON value with the specified content.static ValueJsonfromJson(java.lang.String s)Returns JSON value with the specified content.static ValueJsonget(boolean bool)Returns JSON value with the specified boolean content.static ValueJsonget(int number)Returns JSON value with the specified numeric content.static ValueJsonget(long number)Returns JSON value with the specified numeric content.static ValueJsonget(java.lang.String string)Returns JSON value with the specified string content.static ValueJsonget(java.math.BigDecimal number)Returns JSON value with the specified numeric content.static ValueJsongetInternal(byte[] bytes)Returns JSON value with the specified content.JSONItemTypegetItemType()Returns JSON item type.private static ValueJsongetNumber(java.lang.String s)java.lang.StringBuildergetSQL(java.lang.StringBuilder builder, int sqlFlags)Appends the SQL statement of this object to the specified builder.java.lang.StringgetString()Get the value as a string.TypeInfogetType()Returns the data type.intgetValueType()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
nullJSON value.
-
TRUE
public static final ValueJson TRUE
trueJSON value.
-
FALSE
public static final ValueJson FALSE
falseJSON value.
-
ZERO
public static final ValueJson ZERO
0JSON value.
-
-
Method Detail
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)Description copied from interface:HasSQLAppends the SQL statement of this object to the specified builder.- Specified by:
getSQLin interfaceHasSQL- Overrides:
getSQLin classValueBytesBase- Parameters:
builder- string buildersqlFlags- formatting flags- Returns:
- the specified string builder
-
getValueType
public int getValueType()
Description copied from class:ValueGet the value type.- Specified by:
getValueTypein classValue- Returns:
- the value type
-
getString
public java.lang.String getString()
Description copied from class:ValueGet 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)
-
-