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
Implementation of the JSON data type.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ValueJsonfalseJSON value.private static final byte[]static final ValueJsonnullJSON value.private static final byte[]static final ValueJsontrueJSON value.private static final byte[]static final ValueJson0JSON value.Fields inherited from class org.h2.value.ValueBytesBase
hash, valueFields 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_IGNORECASEFields 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 -
Method Summary
Modifier and TypeMethodDescriptionstatic ValueJsonfromJson(byte[] bytes) Returns JSON value with the specified content.static ValueJsonReturns 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 ValueJsonReturns JSON value with the specified string content.static ValueJsonget(BigDecimal number) Returns JSON value with the specified numeric content.static ValueJsongetInternal(byte[] bytes) Returns JSON value with the specified content.Returns JSON item type.private static ValueJsongetSQL(StringBuilder builder, int sqlFlags) Appends the SQL statement of this object to the specified builder.Get the value as a string.getType()Returns the data type.intGet the value type.Methods inherited from class org.h2.value.ValueBytesBase
compareTypeSafe, equals, getBytes, getBytesNoCopy, getMemory, hashCodeMethods 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, toStringMethods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommittedMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
Field Details
-
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
nullJSON value. -
TRUE
trueJSON value. -
FALSE
falseJSON value. -
ZERO
0JSON value.
-
-
Constructor Details
-
ValueJson
private ValueJson(byte[] value)
-
-
Method Details
-
getSQL
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
-
getType
Description copied from interface:TypedReturns the data type. -
getValueType
public int getValueType()Description copied from class:ValueGet the value type.- Specified by:
getValueTypein classValue- Returns:
- the value type
-
getString
Description copied from class:ValueGet the value as a string. -
getItemType
Returns JSON item type.- Returns:
- JSON item type
-
fromJson
Returns JSON value with the specified content.- Parameters:
s- JSON representation, will be normalized- Returns:
- JSON value
- Throws:
DbException- on invalid JSON
-
fromJson
Returns JSON value with the specified content.- Parameters:
bytes- JSON representation, will be normalized- Returns:
- JSON value
- Throws:
DbException- on invalid JSON
-
get
Returns JSON value with the specified boolean content.- Parameters:
bool- boolean value- Returns:
- JSON value
-
get
Returns JSON value with the specified numeric content.- Parameters:
number- integer value- Returns:
- JSON value
-
get
Returns JSON value with the specified numeric content.- Parameters:
number- long value- Returns:
- JSON value
-
get
Returns JSON value with the specified numeric content.- Parameters:
number- big decimal value- Returns:
- JSON value
-
get
Returns JSON value with the specified string content.- Parameters:
string- string value- Returns:
- JSON value
-
getInternal
Returns JSON value with the specified content.- Parameters:
bytes- normalized JSON representation- Returns:
- JSON value
-
getNumber
-