public class FieldValueFactory extends Object
Constructor and Description |
---|
FieldValueFactory() |
Modifier and Type | Method and Description |
---|---|
static BinaryValue |
createBinary(byte[] v)
Creates a BinaryValue instance from its java representation.
|
static BooleanValue |
createBoolean(boolean v)
Creates a BooleanValue instance from its java representation.
|
static DoubleValue |
createDouble(double v)
Creates a DoubleValue instance from its java representation.
|
static FloatValue |
createFloat(float v)
Creates a FloatValue instance from its java representation.
|
static IntegerValue |
createInteger(int v)
Creates a IntegerValue instance from its java representation.
|
static FieldValue |
createJsonNull()
Creates a special FieldValue instance representing a JSON null
value, which returns true from
FieldValue.isJsonNull() . |
static LongValue |
createLong(long v)
Creates a LongValue instance from its java representation.
|
static NumberValue |
createNumber(BigDecimal v)
Creates a NumberValue instance from a BigDecimal value.
|
static NumberValue |
createNumber(double v)
Creates a NumberValue instance from a double value.
|
static NumberValue |
createNumber(float v)
Creates a NumberValue instance from a float value.
|
static NumberValue |
createNumber(int v)
Creates a NumberValue instance from a int value.
|
static NumberValue |
createNumber(long v)
Creates a NumberValue instance from a long value.
|
static StringValue |
createString(String v)
Creates a StringValue instance from its java representation.
|
static TimestampValue |
createTimestamp(int year,
int month,
int day,
int hour,
int minute,
int second,
int fracSeconds,
int precision)
Creates a TimestampValue instance from date time components.
|
static TimestampValue |
createTimestamp(String s,
int precision)
Creates a TimestampValue instance from a string in format of
TimestampDef.DEFAULT_PATTERN . |
static TimestampValue |
createTimestamp(Timestamp v,
int precision)
Creates a TimestampValue instance from its java representation.
|
static FieldValue |
createValueFromJson(FieldDef type,
InputStream jsonStream)
Creates a new value from a JSON doc (which is given as an InputStream).
|
static FieldValue |
createValueFromJson(FieldDef type,
Reader jsonReader)
Creates a new value from a JSON doc (which is given as a Reader).
|
static FieldValue |
createValueFromJson(FieldDef type,
String jsonString)
Creates a new value from a JSON doc (which is given as a String).
|
static FieldValue |
createValueFromJson(Reader jsonReader)
Creates a FieldValue instance from JSON input where the type is not
known.
|
static FieldValue |
createValueFromJson(String jsonString)
Creates a FieldValue instance from JSON input where the type is not
known.
|
public static FieldValue createValueFromJson(String jsonString)
jsonString
- the JSON representationIllegalArgumentException
- if the input is not valid JSON or the
input cannot be parsed, or it cannot be mapped into supported data types.public static FieldValue createValueFromJson(Reader jsonReader) throws IOException
jsonReader
- a Reader over JSONIllegalArgumentException
- if the input is not valid JSON or the
input cannot be parsed, or it cannot be mapped into supported data types.IOException
- if the input is not valid JSON or the input cannot
be parse, or it cannot be mapped into supported data types.public static FieldValue createValueFromJson(FieldDef type, String jsonString)
Creates a new value from a JSON doc (which is given as a String).
If type is RecordDef then:RecordValue.get(String)
will return null and FieldValue.toJsonString(boolean)
will skip unset fields.If type is BINARY then the value must be a base64 encoded value.
Note: This methods doesn't handle arbitrary JSON, it has to comply to the given type. Also, top level null is not supported.
type
- the type definition of the instance.jsonString
- the JSON representationIllegalArgumentException
- for invalid documentspublic static FieldValue createValueFromJson(FieldDef type, Reader jsonReader) throws IOException
type
- the type definition of the instance.jsonReader
- the JSON representationIllegalArgumentException
- for invalid documentsIOException
- for an invalid Readerpublic static FieldValue createValueFromJson(FieldDef type, InputStream jsonStream) throws IOException
type
- the type definition of the instance.jsonStream
- the JSON representationIllegalArgumentException
- for invalid documentsIOException
- for an invalid InputStreampublic static BinaryValue createBinary(byte[] v)
v
- the java valuepublic static BooleanValue createBoolean(boolean v)
v
- the java valuepublic static DoubleValue createDouble(double v)
v
- the java valuepublic static FloatValue createFloat(float v)
v
- the java valuepublic static IntegerValue createInteger(int v)
v
- the java valuepublic static LongValue createLong(long v)
v
- the java valuepublic static NumberValue createNumber(int v)
v
- the java valuepublic static NumberValue createNumber(long v)
v
- the java valuepublic static NumberValue createNumber(float v)
v
- the java valuepublic static NumberValue createNumber(double v)
v
- the java valuepublic static NumberValue createNumber(BigDecimal v)
v
- the java valuepublic static FieldValue createJsonNull()
FieldValue.isJsonNull()
.public static StringValue createString(String v)
v
- the java valuepublic static TimestampValue createTimestamp(Timestamp v, int precision)
v
- the java valueprecision
- the precision of Timestamp valueIllegalArgumentException
- if precision is invalid.public static TimestampValue createTimestamp(String s, int precision)
TimestampDef.DEFAULT_PATTERN
.s
- the string valueprecision
- the precision of Timestamp valueIllegalArgumentException
- if precision is invalid or the string
is not in the format of TimestampDef.DEFAULT_PATTERN
.public static TimestampValue createTimestamp(int year, int month, int day, int hour, int minute, int second, int fracSeconds, int precision)
year
- the year, from -6383 to 9999.month
- the month of year, from 1 to 12day
- the day of month, from 1 to 31hour
- the hour of day, from 0 to 23minute
- the minute of hour, from 0 to 59second
- the second of minute, from 0 to 59fracSeconds
- the number of fractional seconds in the specified
precision. e.g. if precision is 3, then fractional seconds can be a
value within the range 0 ~ 999.precision
- the precision of Timestamp valueIllegalArgumentException
- if precision is invalid or any component
is invalid.Copyright (c) 2011, 2017 Oracle and/or its affiliates. All rights reserved.