package me.prettyprint.cassandra.model;
import java.util.List;
import me.prettyprint.cassandra.utils.Assert;
import me.prettyprint.hector.api.Serializer;
import me.prettyprint.hector.api.beans.CounterRow;
import me.prettyprint.hector.api.beans.CounterSlice;
import org.apache.cassandra.thrift.CounterColumn;
/**
* A Row is a touple consisting of a Key and a Column Slice.
*
* A Row may be used to hold the returned value from queries such as get_range_slices.
*
* @author Ran Tavory
*
* @param <N> Column name type
*
*/
public final class CounterRowImpl<K,N> implements CounterRow<K, N> {
private final K rowKey;
private final CounterSlice<N> columnSlice;
/*package*/
CounterRowImpl(K k, List<CounterColumn> columns, Serializer<N> nameSerializer) {
Assert.noneNull(k, columns, nameSerializer);
this.rowKey = k;
columnSlice = new CounterSliceImpl<N>(columns, nameSerializer);
}
@Override
public K getKey() {
return rowKey;
}
@Override
public CounterSlice<N> getColumnSlice() {
return columnSlice;
}
@Override
public String toString() {
return "Row(" + rowKey + "," + columnSlice + ")";
}
}