public abstract class QueryParameterValue implements Serializable
A value for a QueryParameter along with its type.
A static factory method is provided for each of the possible types (e.g. #int64(Long)
for StandardSQLTypeName.INT64). Alternatively, an instance can be constructed by calling #of(Object, Class) with the value and a Class object, which will use these mappings:
- Boolean: StandardSQLTypeName.BOOL
- String: StandardSQLTypeName.STRING
- Integer: StandardSQLTypeName.INT64
- Long: StandardSQLTypeName.INT64
- Double: StandardSQLTypeName.FLOAT64
- Float: StandardSQLTypeName.FLOAT64
- BigDecimal: StandardSQLTypeName.NUMERIC
- BigNumeric: StandardSQLTypeName.BIGNUMERIC
- JSON: StandardSQLTypeName.JSON
- INTERVAL: StandardSQLTypeName.INTERVAL
No other types are supported through that entry point. The other types can be created by
calling #of(Object, StandardSQLTypeName) with the value and a particular
StandardSQLTypeName enum value.
Struct parameters are currently not supported.
Static Methods
<T>array(T[] array, StandardSQLTypeName type)
public static QueryParameterValue <T>array(T[] array, StandardSQLTypeName type)
Creates a QueryParameterValue
object with a type of ARRAY the given array element type.
<T>array(T[] array, Class<T> clazz)
public static QueryParameterValue <T>array(T[] array, Class<T> clazz)
Creates a QueryParameterValue
object with a type of ARRAY, and an array element type
based on the given class.
Parameters |
---|
Name | Description |
array | T[]
|
clazz | Class<T>
|
<T>of(T value, StandardSQLTypeName type)
public static QueryParameterValue <T>of(T value, StandardSQLTypeName type)
Creates a QueryParameterValue
object with the given value and type.
<T>of(T value, Class<T> type)
public static QueryParameterValue <T>of(T value, Class<T> type)
Creates a QueryParameterValue
object with the given value and type. Note: this does not
support BigNumeric
Parameters |
---|
Name | Description |
value | T
|
type | Class<T>
|
bigNumeric(BigDecimal value)
public static QueryParameterValue bigNumeric(BigDecimal value)
Creates a QueryParameterValue
object with a type of BIGNUMERIC.
bool(Boolean value)
public static QueryParameterValue bool(Boolean value)
Creates a QueryParameterValue
object with a type of BOOL.
Parameter |
---|
Name | Description |
value | Boolean
|
bytes(byte[] value)
public static QueryParameterValue bytes(byte[] value)
Creates a QueryParameterValue
object with a type of BYTES.
Parameter |
---|
Name | Description |
value | byte[]
|
date(String value)
public static QueryParameterValue date(String value)
Creates a QueryParameterValue
object with a type of DATE. Must be in the format
"yyyy-MM-dd", e.g. "2014-08-19".
Parameter |
---|
Name | Description |
value | String
|
dateTime(String value)
public static QueryParameterValue dateTime(String value)
Creates a QueryParameterValue
object with a type of DATETIME. Must be in the format
"yyyy-MM-dd HH:mm:ss.SSSSSS", e.g. "2014-08-19 12:41:35.220000".
Parameter |
---|
Name | Description |
value | String
|
float64(Double value)
public static QueryParameterValue float64(Double value)
Creates a QueryParameterValue
object with a type of FLOAT64.
Parameter |
---|
Name | Description |
value | Double
|
float64(Float value)
public static QueryParameterValue float64(Float value)
Creates a QueryParameterValue
object with a type of FLOAT64.
Parameter |
---|
Name | Description |
value | Float
|
geography(String value)
public static QueryParameterValue geography(String value)
Creates a QueryParameterValue
object with a type of GEOGRAPHY.
Parameter |
---|
Name | Description |
value | String
|
int64(Integer value)
public static QueryParameterValue int64(Integer value)
Creates a QueryParameterValue
object with a type of INT64.
Parameter |
---|
Name | Description |
value | Integer
|
int64(Long value)
public static QueryParameterValue int64(Long value)
Creates a QueryParameterValue
object with a type of INT64.
Parameter |
---|
Name | Description |
value | Long
|
interval(String value)
public static QueryParameterValue interval(String value)
Creates a QueryParameterValue
object with a type of INTERVAL. Must be in the canonical
format "[sign]Y-M [sign]D [sign]H:M:S[.F]", e.g. "123-7 -19 0:24:12.000006" or ISO 8601
duration format, e.g. "P123Y7M-19DT0H24M12.000006S"
Parameter |
---|
Name | Description |
value | String
|
public static QueryParameterValue interval(PeriodDuration value)
Creates a QueryParameterValue
object with a type of INTERVAL.
Parameter |
---|
Name | Description |
value | org.threeten.extra.PeriodDuration
|
json(JsonObject value)
public static QueryParameterValue json(JsonObject value)
Creates a QueryParameterValue
object with a type of JSON. Currently, this is only
supported in INSERT, not in query as a filter
Parameter |
---|
Name | Description |
value | com.google.gson.JsonObject
|
json(String value)
public static QueryParameterValue json(String value)
Creates a QueryParameterValue
object with a type of JSON. Currently, this is only
supported in INSERT, not in query as a filter
Parameter |
---|
Name | Description |
value | String
|
newBuilder()
public static QueryParameterValue.Builder newBuilder()
Returns a builder for the QueryParameterValue
object.
numeric(BigDecimal value)
public static QueryParameterValue numeric(BigDecimal value)
Creates a QueryParameterValue
object with a type of NUMERIC.
string(String value)
public static QueryParameterValue string(String value)
Creates a QueryParameterValue
object with a type of STRING.
Parameter |
---|
Name | Description |
value | String
|
struct(Map<String,QueryParameterValue> struct)
public static QueryParameterValue struct(Map<String,QueryParameterValue> struct)
Creates a map with QueryParameterValue
object and a type of STRUCT the given struct
element type.
time(String value)
public static QueryParameterValue time(String value)
Creates a QueryParameterValue
object with a type of TIME. Must be in the format
"HH:mm:ss.SSSSSS", e.g. "12:41:35.220000".
Parameter |
---|
Name | Description |
value | String
|
timestamp(Long value)
public static QueryParameterValue timestamp(Long value)
Creates a QueryParameterValue
object with a type of TIMESTAMP.
Parameter |
---|
Name | Description |
value | Long
|
timestamp(String value)
public static QueryParameterValue timestamp(String value)
Creates a QueryParameterValue
object with a type of TIMESTAMP. Must be in the format
"yyyy-MM-dd HH:mm:ss.SSSSSSZZ", e.g. "2014-08-19 12:41:35.220000+00:00".
Parameter |
---|
Name | Description |
value | String
|
Methods
getArrayType()
public abstract StandardSQLTypeName getArrayType()
Returns the data type of the array elements.
getArrayValues()
public List<QueryParameterValue> getArrayValues()
Returns the array values of this parameter. The returned list, if not null, is immutable.
getStructTypes()
public Map<String,QueryParameterValue> getStructTypes()
Returns the data type of the struct elements.
getStructValues()
public Map<String,QueryParameterValue> getStructValues()
Returns the struct values of this parameter. The returned map, if not null, is immutable.
getType()
public abstract StandardSQLTypeName getType()
Returns the data type of this parameter.
getValue()
public abstract String getValue()
Returns the value of this parameter.
toBuilder()
public abstract QueryParameterValue.Builder toBuilder()
Returns a builder for a QueryParameterValue object with given value.