me.prettyprint.cassandra.service.template
Class ColumnFamilyTemplate<K,N>
java.lang.Object
me.prettyprint.cassandra.service.template.AbstractColumnFamilyTemplate<K,N>
me.prettyprint.cassandra.service.template.ColumnFamilyTemplate<K,N>
- Type Parameters:
K
- The column family key typeN
- The column family name type
- Direct Known Subclasses:
- ThriftColumnFamilyTemplate
public abstract class ColumnFamilyTemplate<K,N>
- extends AbstractColumnFamilyTemplate<K,N>
This applies a Template Method pattern, much like Spring's JdbcTemplate, to
Cassandra. The ColumnFamilyTemplate instance maintains many of the fields in
common between various query/update operations so that they do not need to be
constantly passed for every operation on the column family. These include the
keyspace, column family name, key serializer, and the column name serializer
(for standard column name or the super column name).
The Java generic types of the ColumnFamilyTemplate class itself are limited to
the key and column name type. It defers the generic types for super column
child types to the individual update/query operation.
- Author:
- david, zznate
Fields inherited from class me.prettyprint.cassandra.service.template.AbstractColumnFamilyTemplate |
activeSlicePredicate, ALL_COLUMNS_COUNT, ALL_COLUMNS_END, ALL_COLUMNS_START, batched, clock, columnFactory, columnFamily, columnParent, columnValueSerializers, exceptionsTranslator, keySerializer, keyspace, topSerializer |
Method Summary |
int |
countColumns(K key)
|
int |
countColumns(K key,
N start,
N end,
int max)
Counts columns in the specified range of a standard column family |
ColumnFamilyUpdater<K,N> |
createUpdater(K key)
|
ColumnFamilyUpdater<K,N> |
createUpdater(K key,
Mutator<K> mutator)
|
protected abstract ColumnFamilyResult<K,N> |
doExecuteMultigetSlice(Iterable<K> keys,
HSlicePredicate<N> workingSlicePredicate)
|
protected abstract
|
doExecuteMultigetSlice(Iterable<K> keys,
HSlicePredicate<N> workingSlicePredicate,
ColumnFamilyRowMapper<K,N,V> mapper)
|
protected abstract ColumnFamilyResult<K,N> |
doExecuteSlice(K key,
HSlicePredicate<N> workingSlicePredicate)
|
protected abstract
|
doExecuteSlice(K key,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,T> mapper)
|
boolean |
isColumnsExist(K key)
Checks if there are any columns at a row specified by key in a standard
column family |
ColumnFamilyResult<K,N> |
queryColumns(Iterable<K> keys)
|
|
queryColumns(Iterable<K> keys,
ColumnFamilyRowMapper<K,N,V> mapper)
|
|
queryColumns(Iterable<K> keys,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,V> mapper)
|
|
queryColumns(Iterable<K> keys,
List<N> columns,
ColumnFamilyRowMapper<K,N,V> mapper)
|
ColumnFamilyResult<K,N> |
queryColumns(K key)
|
|
queryColumns(K key,
ColumnFamilyRowMapper<K,N,T> mapper)
|
ColumnFamilyResult<K,N> |
queryColumns(K key,
HSlicePredicate<N> predicate)
|
|
queryColumns(K key,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,T> mapper)
Queries a range of columns at the given key and maps them to an object of
type OBJ using the given mapping object |
ColumnFamilyResult<K,N> |
queryColumns(K key,
List<N> columns)
|
|
queryColumns(K key,
List<N> columns,
ColumnFamilyRowMapper<K,N,T> mapper)
Queries all columns at a given key and maps them to an object of type OBJ
using the given mapping object |
|
querySingleColumn(K key,
N columnName,
Class<V> valueClass)
|
|
querySingleColumn(K key,
N columnName,
Serializer<V> valueSerializer)
|
ColumnFamilyTemplate<K,N> |
setBatched(boolean batched)
|
void |
update(ColumnFamilyUpdater<K,N> updater)
|
Methods inherited from class me.prettyprint.cassandra.service.template.AbstractColumnFamilyTemplate |
addColumn, createMutator, deleteColumn, deleteColumn, deleteRow, deleteRow, executeBatch, executeIfNotBatched, executeIfNotBatched, getClock, getColumnFamily, getEffectiveClock, getKeySerializer, getTopSerializer, getValueSerializer, isBatched, setClock, setColumnFactory, setCount, setExceptionsTranslator |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ColumnFamilyTemplate
public ColumnFamilyTemplate(Keyspace keyspace,
String columnFamily,
Serializer<K> keySerializer,
Serializer<N> topSerializer)
setBatched
public ColumnFamilyTemplate<K,N> setBatched(boolean batched)
- Overrides:
setBatched
in class AbstractColumnFamilyTemplate<K,N>
createUpdater
public ColumnFamilyUpdater<K,N> createUpdater(K key)
createUpdater
public ColumnFamilyUpdater<K,N> createUpdater(K key,
Mutator<K> mutator)
update
public void update(ColumnFamilyUpdater<K,N> updater)
isColumnsExist
public boolean isColumnsExist(K key)
- Checks if there are any columns at a row specified by key in a standard
column family
- Parameters:
key
-
- Returns:
- true if columns exist
countColumns
public int countColumns(K key)
- Parameters:
key
-
- Returns:
- the number of columns in a standard column family at the specified
row key
countColumns
public int countColumns(K key,
N start,
N end,
int max)
- Counts columns in the specified range of a standard column family
- Parameters:
key
- start
- end
- max
-
- Returns:
queryColumns
public ColumnFamilyResult<K,N> queryColumns(K key)
queryColumns
public ColumnFamilyResult<K,N> queryColumns(Iterable<K> keys)
queryColumns
public <T> T queryColumns(K key,
ColumnFamilyRowMapper<K,N,T> mapper)
queryColumns
public <T> T queryColumns(K key,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,T> mapper)
- Queries a range of columns at the given key and maps them to an object of
type OBJ using the given mapping object
- Type Parameters:
T
- - Parameters:
key
- start
- end
- mapper
-
- Returns:
queryColumns
public <T> T queryColumns(K key,
List<N> columns,
ColumnFamilyRowMapper<K,N,T> mapper)
- Queries all columns at a given key and maps them to an object of type OBJ
using the given mapping object
- Type Parameters:
T
- - Parameters:
key
- columns
- mapper
-
- Returns:
queryColumns
public ColumnFamilyResult<K,N> queryColumns(K key,
List<N> columns)
queryColumns
public ColumnFamilyResult<K,N> queryColumns(K key,
HSlicePredicate<N> predicate)
queryColumns
public <V> MappedColumnFamilyResult<K,N,V> queryColumns(Iterable<K> keys,
ColumnFamilyRowMapper<K,N,V> mapper)
queryColumns
public <V> MappedColumnFamilyResult<K,N,V> queryColumns(Iterable<K> keys,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,V> mapper)
queryColumns
public <V> MappedColumnFamilyResult<K,N,V> queryColumns(Iterable<K> keys,
List<N> columns,
ColumnFamilyRowMapper<K,N,V> mapper)
querySingleColumn
public <V> HColumn<N,V> querySingleColumn(K key,
N columnName,
Class<V> valueClass)
querySingleColumn
public <V> HColumn<N,V> querySingleColumn(K key,
N columnName,
Serializer<V> valueSerializer)
doExecuteSlice
protected abstract <T> T doExecuteSlice(K key,
HSlicePredicate<N> predicate,
ColumnFamilyRowMapper<K,N,T> mapper)
doExecuteSlice
protected abstract ColumnFamilyResult<K,N> doExecuteSlice(K key,
HSlicePredicate<N> workingSlicePredicate)
doExecuteMultigetSlice
protected abstract ColumnFamilyResult<K,N> doExecuteMultigetSlice(Iterable<K> keys,
HSlicePredicate<N> workingSlicePredicate)
doExecuteMultigetSlice
protected abstract <V> MappedColumnFamilyResult<K,N,V> doExecuteMultigetSlice(Iterable<K> keys,
HSlicePredicate<N> workingSlicePredicate,
ColumnFamilyRowMapper<K,N,V> mapper)
Copyright © 2011. All Rights Reserved.