## org.apache.cassandra.db
Interface IColumn

All Known Implementing Classes:
  Column, CounterColumn, CounterUpdateColumn, DeletedColumn, ExpiringColumn, SuperColumn

    public interface IColumn

TODO: rename

Field Summary
`static int` `MAX_NAME_LENGTH`

Method Summary
`void` `addColumn(IColumn column)`
`void` `addColumn(IColumn column, Allocator allocator)`
`IColumn` `diff(IColumn column)`
`int` `getLocalDeletionTime()`
`long` `getMarkedForDeleteAt()`
`java.lang.String` `getString(AbstractType<?> comparator)`
`IColumn` `getSubColumn(java.nio.ByteBuffer columnName)`
`java.util.Collection<IColumn>` `getSubColumns()`
`boolean` `hasIrrelevantData(int gcBefore)`
`boolean` `isLive()` For a simple column, live == !isMarkedForDelete.
`boolean` `isMarkedForDelete()`
`IColumn` `localCopy(ColumnFamilyStore cfs)` clones the column for the row cache, interning column names and making copies of other underlying byte buffers
`IColumn` `localCopy(ColumnFamilyStore cfs, Allocator allocator)` clones the column for the memtable, interning column names and making copies of other underlying byte buffers.
`long` `maxTimestamp()` For a standard column, this is the same as timestamp().
`long` `mostRecentLiveChangeAt()`
`long` `mostRecentNonGCableChangeAt(int gcbefore)`
`java.nio.ByteBuffer` `name()`
`IColumn` `reconcile(IColumn column)`
`IColumn` `reconcile(IColumn column, Allocator allocator)`
`int` `serializationFlags()`
`int` `serializedSize()`
`int` `size()`
`long` `timestamp()`
`void` `updateDigest(java.security.MessageDigest digest)`
`void` `validateFields(CFMetaData metadata)`
`java.nio.ByteBuffer` `value()`

Field Detail

### MAX_NAME_LENGTH

    static final int MAX_NAME_LENGTH

See Also:
  Constant Field Values

Method Detail

### isMarkedForDelete

    boolean isMarkedForDelete()

  Returns:
    true if the column has been deleted (is a tombstone). This depends on comparing the server clock with getLocalDeletionTime, so it can change during a single request if you're not careful.

### getMarkedForDeleteAt

    long getMarkedForDeleteAt()

### mostRecentLiveChangeAt

    long mostRecentLiveChangeAt()

### mostRecentNonGCableChangeAt

    long mostRecentNonGCableChangeAt(int gcbefore)

### name

    java.nio.ByteBuffer name()

### size

    int size()

### serializedSize

    int serializedSize()

### serializationFlags

    int serializationFlags()

### timestamp

    long timestamp()

### value

    java.nio.ByteBuffer value()

### getSubColumns

    java.util.Collection<IColumn> getSubColumns()

### getSubColumn

    IColumn getSubColumn(java.nio.ByteBuffer columnName)

### addColumn

    void addColumn(IColumn column)

### addColumn

    void addColumn(IColumn column,
                   Allocator allocator)

### diff

    IColumn diff(IColumn column)

### reconcile

    IColumn reconcile(IColumn column)

### reconcile

    IColumn reconcile(IColumn column,
                      Allocator allocator)

### updateDigest

    void updateDigest(java.security.MessageDigest digest)

### getLocalDeletionTime

    int getLocalDeletionTime()

### getString

    java.lang.String getString(AbstractType<?> comparator)

### validateFields

    void validateFields(CFMetaData metadata)
                        throws MarshalException

  Throws:
    `MarshalException`

### localCopy

    IColumn localCopy(ColumnFamilyStore cfs)

  clones the column for the row cache, interning column names and making copies of other underlying byte buffers

### localCopy

    IColumn localCopy(ColumnFamilyStore cfs,
                      Allocator allocator)

  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.

### isLive

    boolean isLive()

  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.

### hasIrrelevantData

    boolean hasIrrelevantData(int gcBefore)

  Returns:
    true if the column or any its subcolumns expired before @param gcBefore

### maxTimestamp

    long maxTimestamp()

  For a standard column, this is the same as timestamp(). For a super column, this is the max column timestamp of the sub columns.

Copyright © 2013 The Apache Software Foundation