org.apache.cassandra.db
Class SuperColumn
java.lang.Object
org.apache.cassandra.db.AbstractColumnContainer
org.apache.cassandra.db.SuperColumn
- All Implemented Interfaces:
- java.lang.Iterable<IColumn>, IColumn, IColumnContainer, OnDiskAtom, IIterableColumns
public class SuperColumn
- extends AbstractColumnContainer
- implements IColumn
Methods inherited from class org.apache.cassandra.db.AbstractColumnContainer |
addAll, addAll, addAllWithSizeDelta, addColumn, delete, delete, deletionInfo, getColumn, getColumnCount, getColumnNames, getComparator, getEstimatedColumnCount, getReverseSortedColumns, getSortedColumns, hasIrrelevantData, hasOnlyTombstones, isEmpty, isMarkedForDelete, iterator, iterator, maybeResetDeletionTimes, remove, replace, retainAll, reverseIterator, setDeletionInfo |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
SuperColumn
public SuperColumn(java.nio.ByteBuffer name,
AbstractType<?> comparator)
serializer
public static org.apache.cassandra.db.SuperColumnSerializer serializer(AbstractType<?> comparator)
onDiskSerializer
public static OnDiskAtom.Serializer onDiskSerializer(AbstractType<?> comparator)
cloneMeShallow
public SuperColumn cloneMeShallow()
cloneMe
public IColumn cloneMe()
name
public java.nio.ByteBuffer name()
- Specified by:
name
in interface OnDiskAtom
getSubColumns
public java.util.Collection<IColumn> getSubColumns()
- Specified by:
getSubColumns
in interface IColumn
getSubColumn
public IColumn getSubColumn(java.nio.ByteBuffer columnName)
- Specified by:
getSubColumn
in interface IColumn
dataSize
public int dataSize()
- This calculates the exact size of the sub columns on the fly
- Specified by:
dataSize
in interface IColumn
serializedSize
public int serializedSize(TypeSizes typeSizes)
- This returns the size of the super-column when serialized.
- Specified by:
serializedSize
in interface OnDiskAtom
- See Also:
OnDiskAtom.serializedSize(TypeSizes)
serializedSizeForSSTable
public long serializedSizeForSSTable()
- Specified by:
serializedSizeForSSTable
in interface OnDiskAtom
timestamp
public long timestamp()
- Specified by:
timestamp
in interface IColumn
maxTimestamp
public long maxTimestamp()
- Description copied from interface:
IColumn
- For a standard column, this is the same as timestamp().
For a super column, this is the max column timestamp of the sub columns.
- Specified by:
maxTimestamp
in interface IColumn
- Specified by:
maxTimestamp
in interface OnDiskAtom
mostRecentLiveChangeAt
public long mostRecentLiveChangeAt()
- Specified by:
mostRecentLiveChangeAt
in interface IColumn
getMarkedForDeleteAt
public long getMarkedForDeleteAt()
- Specified by:
getMarkedForDeleteAt
in interface IColumn
getLocalDeletionTime
public int getLocalDeletionTime()
- Specified by:
getLocalDeletionTime
in interface OnDiskAtom
mostRecentNonGCableChangeAt
public long mostRecentNonGCableChangeAt(int gcbefore)
- Specified by:
mostRecentNonGCableChangeAt
in interface IColumn
value
public java.nio.ByteBuffer value()
- Specified by:
value
in interface IColumn
addColumn
public void addColumn(IColumn column,
Allocator allocator)
- Specified by:
addColumn
in interface IColumn
- Specified by:
addColumn
in interface IColumnContainer
- Overrides:
addColumn
in class AbstractColumnContainer
diff
public IColumn diff(IColumn columnNew)
- Specified by:
diff
in interface IColumn
updateDigest
public void updateDigest(java.security.MessageDigest digest)
- Specified by:
updateDigest
in interface OnDiskAtom
getString
public java.lang.String getString(AbstractType<?> comparator)
- Specified by:
getString
in interface IColumn
isLive
public boolean isLive()
- Description copied from interface:
IColumn
- For a simple column, live == !isMarkedForDelete.
For a supercolumn, live means it has at least one subcolumn whose timestamp is greater than the
supercolumn deleted-at time.
- Specified by:
isLive
in interface IColumn
localCopy
public IColumn localCopy(ColumnFamilyStore cfs)
- Description copied from interface:
IColumn
- clones the column for the row cache, interning column names and making copies of other underlying byte buffers
- Specified by:
localCopy
in interface IColumn
localCopy
public IColumn localCopy(ColumnFamilyStore cfs,
Allocator allocator)
- Description copied from interface:
IColumn
- clones the column for the memtable, interning column names and making copies of other underlying byte buffers.
Unlike the other localCopy, this uses Allocator to allocate values in contiguous memory regions,
which helps avoid heap fragmentation.
- Specified by:
localCopy
in interface IColumn
reconcile
public IColumn reconcile(IColumn c)
- Specified by:
reconcile
in interface IColumn
reconcile
public IColumn reconcile(IColumn c,
Allocator allocator)
- Specified by:
reconcile
in interface IColumn
serializationFlags
public int serializationFlags()
- Specified by:
serializationFlags
in interface IColumn
validateFields
public void validateFields(CFMetaData metadata)
throws MarshalException
- Specified by:
validateFields
in interface IColumn
- Specified by:
validateFields
in interface OnDiskAtom
- Throws:
MarshalException
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
Copyright © 2012 The Apache Software Foundation