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 )
Obsolete
Use interval(String) instead
This feature is stable for usage in this major version, but may be deprecated in a future release.
Creates a QueryParameterValue
object with a type of INTERVAL. This method is obsolete.
Use #interval(String) instead.
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.
range(Range value)
public static QueryParameterValue range ( Range value )
Creates a QueryParameterValue
object with a type of RANGE.
Parameter
Name
Description
value
Range
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
Microseconds since epoch, e.g. 1733945416000000 corresponds to 2024-12-11
19:30:16.929Z
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.
getRangeValues()
public Range getRangeValues ()
Returns the struct values of this parameter. The returned map, if not null, is immutable.
Returns
Type
Description
Range
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.
Returns
Type
Description
String
toBuilder()
public abstract QueryParameterValue . Builder toBuilder ()
Returns a builder for a QueryParameterValue object with given value.