org.apache.cassandra.cql3

## Class ColumnIdentifier

- java.lang.Object
- - org.apache.cassandra.cql3.selection.Selectable
  - - org.apache.cassandra.cql3.ColumnIdentifier

All Implemented Interfaces:
  IMeasurableMemory

    public class ColumnIdentifier
    extends Selectable
    implements IMeasurableMemory

Represents an identifer for a CQL column definition. TODO : should support light-weight mode without text representation for when not interned

### Nested Class Summary

Nested Classes
`static class` `ColumnIdentifier.Raw` Because Thrift-created tables may have a non-text comparator, we cannot determine the proper 'key' until we know the comparator.

### Nested classes/interfaces inherited from class org.apache.cassandra.cql3.selection.Selectable

`Selectable.WithFieldSelection, Selectable.WithFunction, Selectable.WritetimeOrTTL`

### Field Summary

Fields
`java.nio.ByteBuffer` `bytes`

### Constructor Summary

Constructors
Constructor and Description
`ColumnIdentifier(java.nio.ByteBuffer bytes, AbstractType<?> type)`
`ColumnIdentifier(java.nio.ByteBuffer bytes, java.lang.String text)`
`ColumnIdentifier(java.lang.String rawText, boolean keepCase)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ColumnIdentifier` `clone(AbstractAllocator allocator)`
`boolean` `equals(java.lang.Object o)`
`int` `hashCode()`
`Selector.Factory` `newSelectorFactory(CFMetaData cfm, java.util.List<ColumnDefinition> defs)`
`java.lang.String` `toString()`
`long` `unsharedHeapSize()`
`long` `unsharedHeapSizeExcludingData()`

### Methods inherited from class org.apache.cassandra.cql3.selection.Selectable

`addAndGetIndex`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### bytes

    public final java.nio.ByteBuffer bytes

### Constructor Detail

#### ColumnIdentifier

    public ColumnIdentifier(java.lang.String rawText,
                            boolean keepCase)

#### ColumnIdentifier

    public ColumnIdentifier(java.nio.ByteBuffer bytes,
                            AbstractType<?> type)

#### ColumnIdentifier

    public ColumnIdentifier(java.nio.ByteBuffer bytes,
                            java.lang.String text)

### Method Detail

#### hashCode

    public final int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### equals

    public final boolean equals(java.lang.Object o)

Overrides:
  `equals` in class `java.lang.Object`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### unsharedHeapSize

    public long unsharedHeapSize()

Specified by:
  `unsharedHeapSize` in interface `IMeasurableMemory`
Returns:
  the amount of on-heap memory retained by the object that might be reclaimed if the object were reclaimed, i.e. it should try to exclude globally cached data where possible, or counting portions of arrays that are referenced by the object but used by other objects only (e.g. slabbed byte-buffers), etc.

#### unsharedHeapSizeExcludingData

    public long unsharedHeapSizeExcludingData()

#### clone

    public ColumnIdentifier clone(AbstractAllocator allocator)

#### newSelectorFactory

    public Selector.Factory newSelectorFactory(CFMetaData cfm,
                                               java.util.List<ColumnDefinition> defs)
                                        throws InvalidRequestException

Specified by:
  `newSelectorFactory` in class `Selectable`
Throws:
  `InvalidRequestException`