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
ith value as a boolean. |
boolean |
getBool(String name)
Returns the value for
name as a boolean. |
ByteBuffer |
getBytes(int i)
Returns the
ith value as a byte array. |
ByteBuffer |
getBytes(String name)
Returns the value for
name as a byte array. |
ByteBuffer |
getBytesUnsafe(int i)
Returns the
ith value as a ByteBuffer. |
ByteBuffer |
getBytesUnsafe(String name)
Returns the value for
name as a ByteBuffer. |
Date |
getDate(int i)
Returns the
ith value as a date. |
Date |
getDate(String name)
Returns the value for
name as a date. |
BigDecimal |
getDecimal(int i)
Returns the
ith 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
ith value as a double. |
double |
getDouble(String name)
Returns the value for
name as a double. |
float |
getFloat(int i)
Returns the
ith 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
ith value as an InetAddress. |
InetAddress |
getInet(String name)
Returns the value for
name as an InetAddress. |
int |
getInt(int i)
Returns the
ith 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
ith value as a list. |
<T> List<T> |
getList(int i,
TypeToken<T> elementsType)
Returns the
ith 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
ith 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
ith value as a map. |
<K,V> Map<K,V> |
getMap(int i,
TypeToken<K> keysType,
TypeToken<V> valuesType)
Returns the
ith 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
ith 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
ith value as a set. |
<T> Set<T> |
getSet(int i,
TypeToken<T> elementsType)
Returns the
ith 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
ith value as a string. |
String |
getString(String name)
Returns the value for
name as a string. |
TupleValue |
getTupleValue(int i)
Return the
ith 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
ith value as a UDT value. |
UDTValue |
getUDTValue(String name)
Return the value for
name as a UDT value. |
UUID |
getUUID(int i)
Returns the
ith 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
ith 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
ith 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, waitgetBool, getBytes, getBytesUnsafe, getDate, getDecimal, getDouble, getFloat, getInet, getInt, getList, getList, getLong, getMap, getMap, getObject, getSet, getSet, getString, getTupleValue, getUDTValue, getUUID, getVarint, isNullprotected 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 GettableByNameDataname - the name to check.name is NULL.public boolean getBool(String name)
name as a boolean.getBool in interface GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - the name to retrieve.elementsClass - the class for the elements of the list to retrieve.ith 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 GettableByNameDataname - the name to retrieve.elementsType - the type for the elements of the list to retrieve.ith 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 GettableByNameDataname - the name to retrieve.elementsClass - the class for the elements of the set to retrieve.ith 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 GettableByNameDataname - the name to retrieve.elementsType - the type for the elements of the set to retrieve.ith 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - 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 GettableByNameDataname - the name to retrieve.ith 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)
ith value is NULL.isNull in interface GettableByIndexDatai - the index (0 <= i < size()) of the value to check.ith value is NULL.public boolean getBool(int i)
ith value as a boolean.getBool in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element. If the
value is NULL, false is returned.public int getInt(int i)
ith value as an integer.getInt in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as an integer. If the
value is NULL, 0 is returned.public long getLong(int i)
ith value as a long.getLong in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a long. If the
value is NULL, 0L is returned.public Date getDate(int i)
ith value as a date.getDate in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a data. If the
value is NULL, null is returned.public float getFloat(int i)
ith value as a float.getFloat in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a float. If the
value is NULL, 0.0f is returned.public double getDouble(int i)
ith value as a double.getDouble in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a double. If the
value is NULL, 0.0 is returned.public ByteBuffer getBytesUnsafe(int i)
ith 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 GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a ByteBuffer. If the
value is NULL, null is returned.public ByteBuffer getBytes(int i)
ith 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 GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a byte array. If the
value is NULL, null is returned.public String getString(int i)
ith value as a string.getString in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a string. If the
value is NULL, null is returned.public BigInteger getVarint(int i)
ith value as a variable length integer.getVarint in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a variable
length integer. If the value is NULL, null is returned.public BigDecimal getDecimal(int i)
ith value as a variable length decimal.getDecimal in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a variable
length decimal. If the value is NULL, null is returned.public UUID getUUID(int i)
ith value as a UUID.getUUID in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a UUID.
If the value is NULL, null is returned.public InetAddress getInet(int i)
ith value as an InetAddress.getInet in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as an InetAddress.
If the value is NULL, null is returned.public <T> List<T> getList(int i, Class<T> elementsClass)
ith value as a list.
If the type of the elements is generic, use GettableByIndexData.getList(int, TypeToken).getList in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.elementsClass - the class for the elements of the list to retrieve.ith 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)
ith 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 GettableByIndexDatai - the index (0 <= i < size()) to retrieve.elementsType - the type of the elements of the list to retrieve.ith 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)
ith value as a set.
If the type of the elements is generic, use GettableByIndexData.getSet(int, TypeToken).getSet in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.elementsClass - the class for the elements of the set to retrieve.ith 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)
ith 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 GettableByIndexDatai - the index (0 <= i < size()) to retrieve.elementsType - the type for the elements of the set to retrieve.ith 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)
ith value as a map.
If the type of the keys and/or values is generic, use GettableByIndexData.getMap(int, TypeToken, TypeToken).getMap in interface GettableByIndexDatai - 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.ith 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)
ith 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 GettableByIndexDatai - 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.ith 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)
ith value as a UDT value.getUDTValue in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a UDT value. If the value is NULL,
then null will be returned.public TupleValue getTupleValue(int i)
ith value as a tuple value.getTupleValue in interface GettableByIndexDatai - the index (0 <= i < size()) to retrieve.ith element as a tuple value. If the value is NULL,
then null will be returned.public Object getObject(int i)
ith value as the Java type matching its CQL type.getObject in interface GettableByIndexDatai - the index to retrieve.ith 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.