public abstract class AbstractGettableData extends Object implements GettableData
Modifier and Type | Field and Description |
---|---|
protected ProtocolVersion |
protocolVersion |
Modifier | Constructor and Description |
---|---|
protected |
AbstractGettableData(int protocolVersion)
Deprecated.
This constructor is provided for backward compatibility, use
AbstractGettableData(ProtocolVersion) instead. |
protected |
AbstractGettableData(ProtocolVersion protocolVersion)
Creates a new AbstractGettableData object.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkType(int i,
DataType.Name name) |
protected DataType.Name |
checkType(int i,
DataType.Name name1,
DataType.Name name2) |
protected DataType.Name |
checkType(int i,
DataType.Name name1,
DataType.Name name2,
DataType.Name name3) |
boolean |
getBool(int i)
Returns the
i th value as a boolean. |
boolean |
getBool(String name)
Returns the value for
name as a boolean. |
ByteBuffer |
getBytes(int i)
Returns the
i th value as a byte array. |
ByteBuffer |
getBytes(String name)
Returns the value for
name as a byte array. |
ByteBuffer |
getBytesUnsafe(int i)
Returns the
i th value as a ByteBuffer. |
ByteBuffer |
getBytesUnsafe(String name)
Returns the value for
name as a ByteBuffer. |
Date |
getDate(int i)
Returns the
i th value as a date. |
Date |
getDate(String name)
Returns the value for
name as a date. |
BigDecimal |
getDecimal(int i)
Returns the
i th value as a variable length decimal. |
BigDecimal |
getDecimal(String name)
Returns the value for
name as a variable length decimal. |
double |
getDouble(int i)
Returns the
i th value as a double. |
double |
getDouble(String name)
Returns the value for
name as a double. |
float |
getFloat(int i)
Returns the
i th value as a float. |
float |
getFloat(String name)
Returns the value for
name as a float. |
protected abstract int |
getIndexOf(String name)
Returns the index corresponding to a given name.
|
InetAddress |
getInet(int i)
Returns the
i th value as an InetAddress. |
InetAddress |
getInet(String name)
Returns the value for
name as an InetAddress. |
int |
getInt(int i)
Returns the
i th value as an integer. |
int |
getInt(String name)
Returns the value for
name as an integer. |
<T> List<T> |
getList(int i,
Class<T> elementsClass)
Returns the
i th value as a list. |
<T> List<T> |
getList(int i,
TypeToken<T> elementsType)
Returns the
i th value as a list. |
<T> List<T> |
getList(String name,
Class<T> elementsClass)
Returns the value for
name as a list. |
<T> List<T> |
getList(String name,
TypeToken<T> elementsType)
Returns the value for
name as a list. |
long |
getLong(int i)
Returns the
i th value as a long. |
long |
getLong(String name)
Returns the value for
name as a long. |
<K,V> Map<K,V> |
getMap(int i,
Class<K> keysClass,
Class<V> valuesClass)
Returns the
i th value as a map. |
<K,V> Map<K,V> |
getMap(int i,
TypeToken<K> keysType,
TypeToken<V> valuesType)
Returns the
i th value as a map. |
<K,V> Map<K,V> |
getMap(String name,
Class<K> keysClass,
Class<V> valuesClass)
Returns the value for
name as a map. |
<K,V> Map<K,V> |
getMap(String name,
TypeToken<K> keysType,
TypeToken<V> valuesType)
Returns the value for
name as a map. |
protected abstract String |
getName(int i)
Returns the name corresponding to the value at index
i . |
Object |
getObject(int i)
Returns the
i th value as the Java type matching its CQL type. |
Object |
getObject(String name)
Returns the value for
name as the Java type matching its CQL type. |
<T> Set<T> |
getSet(int i,
Class<T> elementsClass)
Returns the
i th value as a set. |
<T> Set<T> |
getSet(int i,
TypeToken<T> elementsType)
Returns the
i th value as a set. |
<T> Set<T> |
getSet(String name,
Class<T> elementsClass)
Returns the value for
name as a set. |
<T> Set<T> |
getSet(String name,
TypeToken<T> elementsType)
Returns the value for
name as a set. |
String |
getString(int i)
Returns the
i th value as a string. |
String |
getString(String name)
Returns the value for
name as a string. |
TupleValue |
getTupleValue(int i)
Return the
i th value as a tuple value. |
TupleValue |
getTupleValue(String name)
Return the value for
name as a tuple value. |
protected abstract DataType |
getType(int i)
Returns the type for the value at index
i . |
UDTValue |
getUDTValue(int i)
Return the
i th value as a UDT value. |
UDTValue |
getUDTValue(String name)
Return the value for
name as a UDT value. |
UUID |
getUUID(int i)
Returns the
i th value as a UUID. |
UUID |
getUUID(String name)
Returns the value for
name as a UUID. |
protected abstract ByteBuffer |
getValue(int i)
Returns the value at index
i . |
BigInteger |
getVarint(int i)
Returns the
i th value as a variable length integer. |
BigInteger |
getVarint(String name)
Returns the value for
name as a variable length integer. |
boolean |
isNull(int i)
Returns whether the
i th value is NULL. |
boolean |
isNull(String name)
Returns whether the value for
name is NULL. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBool, getBytes, getBytesUnsafe, getDate, getDecimal, getDouble, getFloat, getInet, getInt, getList, getList, getLong, getMap, getMap, getObject, getSet, getSet, getString, getTupleValue, getUDTValue, getUUID, getVarint, isNull
protected final ProtocolVersion protocolVersion
protected AbstractGettableData(ProtocolVersion protocolVersion)
protocolVersion
- the protocol version in which values returned
by getValue(int)
will be returned. This must be a protocol version
supported by this driver. In general, the correct value will be the
value returned by ProtocolOptions.getProtocolVersion()
.IllegalArgumentException
- if protocolVersion
is not a valid protocol version.@Deprecated protected AbstractGettableData(int protocolVersion)
AbstractGettableData(ProtocolVersion)
instead.IllegalArgumentException
- if protocolVersion
does not correspond to any known version.protected abstract int getIndexOf(String name)
name
- the name for which to return the index of.name
.IllegalArgumentException
- if name
is not valid name for this object.public boolean isNull(String name)
name
is NULL.isNull
in interface GettableByNameData
name
- the name to check.name
is NULL.public boolean getBool(String name)
name
as a boolean.getBool
in interface GettableByNameData
name
- the name to retrieve.name
. If the value is NULL,
false
is returned.public int getInt(String name)
name
as an integer.getInt
in interface GettableByNameData
name
- the name to retrieve.name
as an integer. If the value is NULL,
0
is returned.public long getLong(String name)
name
as a long.getLong
in interface GettableByNameData
name
- the name to retrieve.name
as a long. If the value is NULL,
0L
is returned.public Date getDate(String name)
name
as a date.getDate
in interface GettableByNameData
name
- the name to retrieve.name
as a date. If the value is NULL,
null
is returned.public float getFloat(String name)
name
as a float.getFloat
in interface GettableByNameData
name
- the name to retrieve.name
as a float. If the value is NULL,
0.0f
is returned.public double getDouble(String name)
name
as a double.getDouble
in interface GettableByNameData
name
- the name to retrieve.name
as a double. If the value is NULL,
0.0
is returned.public ByteBuffer getBytesUnsafe(String name)
name
as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
the column is not of type BLOB. That is, this method never throw an
InvalidTypeException. However, if the type is not BLOB, it is up to the
caller to handle the returned value correctly.getBytesUnsafe
in interface GettableByNameData
name
- the name to retrieve.name
as a ByteBuffer. If the value is NULL,
null
is returned.public ByteBuffer getBytes(String name)
name
as a byte array.
Note that this method validate that the column is of type BLOB. If you want to retrieve
the bytes for any type, use GettableByNameData.getBytesUnsafe(String)
instead.getBytes
in interface GettableByNameData
name
- the name to retrieve.name
as a byte array. If the value is NULL,
null
is returned.public String getString(String name)
name
as a string.getString
in interface GettableByNameData
name
- the name to retrieve.name
as a string. If the value is NULL,
null
is returned.public BigInteger getVarint(String name)
name
as a variable length integer.getVarint
in interface GettableByNameData
name
- the name to retrieve.name
as a variable length integer.
If the value is NULL, null
is returned.public BigDecimal getDecimal(String name)
name
as a variable length decimal.getDecimal
in interface GettableByNameData
name
- the name to retrieve.name
as a variable length decimal.
If the value is NULL, null
is returned.public UUID getUUID(String name)
name
as a UUID.getUUID
in interface GettableByNameData
name
- the name to retrieve.name
as a UUID.
If the value is NULL, null
is returned.public InetAddress getInet(String name)
name
as an InetAddress.getInet
in interface GettableByNameData
name
- the name to retrieve.name
as an InetAddress.
If the value is NULL, null
is returned.public <T> List<T> getList(String name, Class<T> elementsClass)
name
as a list.
If the type of the elements is generic, use GettableByNameData.getList(String, TypeToken)
.getList
in interface GettableByNameData
name
- the name to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th element as a list of
T
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.public <T> List<T> getList(String name, TypeToken<T> elementsType)
name
as a list.
Use this variant with nested collections, which produce a generic element type:
List<List<String>> l = row.getList("theColumn", new TypeToken<List<String>>() {});
getList
in interface GettableByNameData
name
- the name to retrieve.elementsType
- the type for the elements of the list to retrieve.i
th element as a list of
T
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.public <T> Set<T> getSet(String name, Class<T> elementsClass)
name
as a set.
If the type of the elements is generic, use GettableByNameData.getSet(String, TypeToken)
.getSet
in interface GettableByNameData
name
- the name to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th element as a set of
T
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.public <T> Set<T> getSet(String name, TypeToken<T> elementsType)
name
as a set.
Use this variant with nested collections, which produce a generic element type:
Set<List<String>> l = row.getSet("theColumn", new TypeToken<List<String>>() {});
getSet
in interface GettableByNameData
name
- the name to retrieve.elementsType
- the type for the elements of the set to retrieve.i
th element as a set of
T
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.public <K,V> Map<K,V> getMap(String name, Class<K> keysClass, Class<V> valuesClass)
name
as a map.
If the type of the keys and/or values is generic, use GettableByNameData.getMap(String, TypeToken, TypeToken)
.getMap
in interface GettableByNameData
name
- the name to retrieve.keysClass
- the class for the keys of the map to retrieve.valuesClass
- the class for the values of the map to retrieve.name
as a map of
K
to V
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.public <K,V> Map<K,V> getMap(String name, TypeToken<K> keysType, TypeToken<V> valuesType)
name
as a map.
Use this variant with nested collections, which produce a generic element type:
Map<Int, List<String>> l = row.getMap("theColumn", TypeToken.of(Integer.class), new TypeToken<List<String>>() {});
getMap
in interface GettableByNameData
name
- the name to retrieve.keysType
- the class for the keys of the map to retrieve.valuesType
- the class for the values of the map to retrieve.name
as a map of
K
to V
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.public UDTValue getUDTValue(String name)
name
as a UDT value.getUDTValue
in interface GettableByNameData
name
- the name to retrieve.name
as a UDT value. If the value is NULL,
then null
will be returned.public TupleValue getTupleValue(String name)
name
as a tuple value.getTupleValue
in interface GettableByNameData
name
- the name to retrieve.name
as a tuple value. If the value is NULL,
then null
will be returned.public Object getObject(String name)
name
as the Java type matching its CQL type.getObject
in interface GettableByNameData
name
- the name to retrieve.i
th value as the Java type matching its CQL type.
If the value is NULL and is a simple type, UDT or tuple, null
is returned.
If it is NULL and is a collection type, an empty (immutable) collection is returned.protected abstract DataType getType(int i)
i
.i
- the index of the type to fetch.i
.IndexOutOfBoundsException
- if i
is not a valid index.protected abstract String getName(int i)
i
.i
- the index of the name to fetch.i
.IndexOutOfBoundsException
- if i
is not a valid index.protected abstract ByteBuffer getValue(int i)
i
.i
- the index to fetch.i
.IndexOutOfBoundsException
- if i
is not a valid index.protected void checkType(int i, DataType.Name name)
protected DataType.Name checkType(int i, DataType.Name name1, DataType.Name name2)
protected DataType.Name checkType(int i, DataType.Name name1, DataType.Name name2, DataType.Name name3)
public boolean isNull(int i)
i
th value is NULL.isNull
in interface GettableByIndexData
i
- the index (0 <= i < size()
) of the value to check.i
th value is NULL.public boolean getBool(int i)
i
th value as a boolean.getBool
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element. If the
value is NULL, false
is returned.public int getInt(int i)
i
th value as an integer.getInt
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as an integer. If the
value is NULL, 0
is returned.public long getLong(int i)
i
th value as a long.getLong
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a long. If the
value is NULL, 0L
is returned.public Date getDate(int i)
i
th value as a date.getDate
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a data. If the
value is NULL, null
is returned.public float getFloat(int i)
i
th value as a float.getFloat
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a float. If the
value is NULL, 0.0f
is returned.public double getDouble(int i)
i
th value as a double.getDouble
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a double. If the
value is NULL, 0.0
is returned.public ByteBuffer getBytesUnsafe(int i)
i
th value as a ByteBuffer.
Note: this method always return the bytes composing the value, even if
the column is not of type BLOB. That is, this method never throw an
InvalidTypeException. However, if the type is not BLOB, it is up to the
caller to handle the returned value correctly.getBytesUnsafe
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a ByteBuffer. If the
value is NULL, null
is returned.public ByteBuffer getBytes(int i)
i
th value as a byte array.
Note that this method validate that the column is of type BLOB. If you want to retrieve
the bytes for any type, use GettableByIndexData.getBytesUnsafe(int)
instead.getBytes
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a byte array. If the
value is NULL, null
is returned.public String getString(int i)
i
th value as a string.getString
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a string. If the
value is NULL, null
is returned.public BigInteger getVarint(int i)
i
th value as a variable length integer.getVarint
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a variable
length integer. If the value is NULL, null
is returned.public BigDecimal getDecimal(int i)
i
th value as a variable length decimal.getDecimal
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a variable
length decimal. If the value is NULL, null
is returned.public UUID getUUID(int i)
i
th value as a UUID.getUUID
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a UUID.
If the value is NULL, null
is returned.public InetAddress getInet(int i)
i
th value as an InetAddress.getInet
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as an InetAddress.
If the value is NULL, null
is returned.public <T> List<T> getList(int i, Class<T> elementsClass)
i
th value as a list.
If the type of the elements is generic, use GettableByIndexData.getList(int, TypeToken)
.getList
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.elementsClass
- the class for the elements of the list to retrieve.i
th element as a list of
T
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.public <T> List<T> getList(int i, TypeToken<T> elementsType)
i
th value as a list.
Use this variant with nested collections, which produce a generic element type:
List<List<String>> l = row.getList(1, new TypeToken<List<String>>() {});
getList
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.elementsType
- the type of the elements of the list to retrieve.i
th element as a list of
T
objects. If the value is NULL, an empty list is
returned (note that Cassandra makes no difference between an empty list
and column of type list that is not set). The returned list is immutable.public <T> Set<T> getSet(int i, Class<T> elementsClass)
i
th value as a set.
If the type of the elements is generic, use GettableByIndexData.getSet(int, TypeToken)
.getSet
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.elementsClass
- the class for the elements of the set to retrieve.i
th element as a set of
T
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.public <T> Set<T> getSet(int i, TypeToken<T> elementsType)
i
th value as a set.
Use this variant with nested collections, which produce a generic element type:
Set<List<String>> l = row.getSet(1, new TypeToken<List<String>>() {});
getSet
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.elementsType
- the type for the elements of the set to retrieve.i
th element as a set of
T
objects. If the value is NULL, an empty set is
returned (note that Cassandra makes no difference between an empty set
and column of type set that is not set). The returned set is immutable.public <K,V> Map<K,V> getMap(int i, Class<K> keysClass, Class<V> valuesClass)
i
th value as a map.
If the type of the keys and/or values is generic, use GettableByIndexData.getMap(int, TypeToken, TypeToken)
.getMap
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.keysClass
- the class for the keys of the map to retrieve.valuesClass
- the class for the values of the map to retrieve.i
th element as a map of
K
to V
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.public <K,V> Map<K,V> getMap(int i, TypeToken<K> keysType, TypeToken<V> valuesType)
i
th value as a map.
Use this variant with nested collections, which produce a generic element type:
Map<Int, List<String>> l = row.getMap(1, TypeToken.of(Integer.class), new TypeToken<List<String>>() {});
getMap
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.keysType
- the type for the keys of the map to retrieve.valuesType
- the type for the values of the map to retrieve.i
th element as a map of
K
to V
objects. If the value is NULL,
an empty map is returned (note that Cassandra makes no difference
between an empty map and column of type map that is not set). The
returned map is immutable.public UDTValue getUDTValue(int i)
i
th value as a UDT value.getUDTValue
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a UDT value. If the value is NULL,
then null
will be returned.public TupleValue getTupleValue(int i)
i
th value as a tuple value.getTupleValue
in interface GettableByIndexData
i
- the index (0 <= i < size()
) to retrieve.i
th element as a tuple value. If the value is NULL,
then null
will be returned.public Object getObject(int i)
i
th value as the Java type matching its CQL type.getObject
in interface GettableByIndexData
i
- the index to retrieve.i
th value as the Java type matching its CQL type.
If the value is NULL and is a simple type, UDT or tuple, null
is returned.
If it is NULL and is a collection type, an empty (immutable) collection is returned.