org.apache.cassandra.db.composites

## Class AbstractCompoundCellNameType

- java.lang.Object
- - org.apache.cassandra.db.composites.AbstractCType
  - - org.apache.cassandra.db.composites.AbstractCellNameType
    - - org.apache.cassandra.db.composites.AbstractCompoundCellNameType

All Implemented Interfaces:
  java.util.Comparator<Composite>, CellNameType, CType

Direct Known Subclasses:
  CompoundDenseCellNameType, CompoundSparseCellNameType

    public abstract class AbstractCompoundCellNameType
    extends AbstractCellNameType

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.cassandra.db.composites.CellNameType

`CellNameType.Deserializer`

### Nested classes/interfaces inherited from interface org.apache.cassandra.db.composites.CType

`CType.Serializer`

### Field Summary

Fields
`protected int` `clusteringSize`
`protected CompoundCType` `clusteringType`
`protected int` `fullSize`
`protected CompoundCType` `fullType`

### Fields inherited from class org.apache.cassandra.db.composites.AbstractCType

`isByteOrderComparable`

### Constructor Summary

Constructors
`protected` `AbstractCompoundCellNameType(CompoundCType clusteringType, CompoundCType fullType)`

### Method Summary

Methods
`AbstractType<?>` `asAbstractType()` Returns a AbstractType corresponding to this CType for thrift/cql2 sake.
`CBuilder` `builder()` A builder of Composite.
`int` `clusteringPrefixSize()` The number of clustering columns for the table this is the type of.
`protected abstract Composite` `copyAndMakeWith(java.nio.ByteBuffer[] components, int size, Composite.EOC eoc, boolean isStatic)`
`Composite` `fromByteBuffer(java.nio.ByteBuffer bytes)` Deserialize a Composite from a ByteBuffer.
`boolean` `isCompound()` Returns whether this is a "truly-composite" underneath.
`protected CellName` `makeCellName(java.nio.ByteBuffer[] components)`
`protected abstract Composite` `makeWith(java.nio.ByteBuffer[] components, int size, Composite.EOC eoc, boolean isStatic)`
`CellNameType.Deserializer` `newDeserializer(java.io.DataInput in)` Creates a new Deserializer.
`CBuilder` `prefixBuilder()` A builder for the clustering prefix.
`int` `size()` The number of subtypes for this CType.
`AbstractType<?>` `subtype(int i)` Gets a subtype of this CType.

### Methods inherited from class org.apache.cassandra.db.composites.AbstractCellNameType

`addOrUpdateCollection, cellFromByteBuffer, cellSerializer, collectionType, columnComparator, columnReverseComparator, columnSerializer, create, diskAtomFilterSerializer, hasCollections, make, makeCellName, makeDenseCQL3RowBuilder, makeSparseCQL3RowBuilder, namesQueryFilterSerializer, onDiskAtomComparator, onDiskAtomSerializer, rowMarker, staticPrefix, supportCollections`

### Methods inherited from class org.apache.cassandra.db.composites.AbstractCType

`checkRemaining, compare, deletionInfoSerializer, equals, getString, hashCode, indexComparator, indexReverseComparator, indexSerializer, isByteOrderComparable, isCompatibleWith, rangeTombstoneSerializer, reverseComparator, rowIndexEntrySerializer, serializer, sliceBytes, sliceQueryFilterSerializer, sliceSerializer, toString, validate`

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

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

### Methods inherited from interface org.apache.cassandra.db.composites.CellNameType

`addCQL3Column, CQL3RowBuilder, create, isDense, removeCQL3Column, setSubtype`

### Methods inherited from interface org.apache.cassandra.db.composites.CType

`deletionInfoSerializer, getString, indexComparator, indexReverseComparator, indexSerializer, isCompatibleWith, rangeTombstoneSerializer, reverseComparator, rowIndexEntrySerializer, serializer, sliceQueryFilterSerializer, sliceSerializer, validate`

### Methods inherited from interface java.util.Comparator

`compare, equals`

### Field Detail

#### clusteringType

    protected final CompoundCType clusteringType

#### fullType

    protected final CompoundCType fullType

#### clusteringSize

    protected final int clusteringSize

#### fullSize

    protected final int fullSize

### Constructor Detail

#### AbstractCompoundCellNameType

    protected AbstractCompoundCellNameType(CompoundCType clusteringType,
                                CompoundCType fullType)

### Method Detail

#### clusteringPrefixSize

    public int clusteringPrefixSize()

Description copied from interface: `CellNameType`
The number of clustering columns for the table this is the type of.

#### isCompound

    public boolean isCompound()

Description copied from interface: `CType`
Returns whether this is a "truly-composite" underneath.

#### size

    public int size()

Description copied from interface: `CType`
The number of subtypes for this CType.

#### subtype

    public AbstractType<?> subtype(int i)

Description copied from interface: `CType`
Gets a subtype of this CType.

#### prefixBuilder

    public CBuilder prefixBuilder()

Description copied from interface: `CellNameType`
A builder for the clustering prefix.

#### builder

    public CBuilder builder()

Description copied from interface: `CType`
A builder of Composite.

#### fromByteBuffer

    public Composite fromByteBuffer(java.nio.ByteBuffer bytes)

Description copied from interface: `CType`
Deserialize a Composite from a ByteBuffer. This is meant for thrift/cql2 to convert the fully serialized buffer we get from the clients to composites.

#### asAbstractType

    public AbstractType<?> asAbstractType()

Description copied from interface: `CType`
Returns a AbstractType corresponding to this CType for thrift/cql2 sake. If the CType is a "simple" one, this just return the wrapped type, otherwise it returns the corresponding org.apache.cassandra.db.marshal.CompositeType. This is only meant to be use for backward compatibility (particularly for thrift/cql2) but it's not meant to be used internally.

#### newDeserializer

    public CellNameType.Deserializer newDeserializer(java.io.DataInput in)

Description copied from interface: `CellNameType`
Creates a new Deserializer. This is used by AtomDeserializer to do incremental and on-demand deserialization of the on disk atoms. See AtomDeserializer for details.

#### makeCellName

    protected CellName makeCellName(java.nio.ByteBuffer[] components)

Specified by:
  `makeCellName` in class `AbstractCellNameType`

#### makeWith

    protected abstract Composite makeWith(java.nio.ByteBuffer[] components,
                     int size,
                     Composite.EOC eoc,
                     boolean isStatic)

#### copyAndMakeWith

    protected abstract Composite copyAndMakeWith(java.nio.ByteBuffer[] components,
                            int size,
                            Composite.EOC eoc,
                            boolean isStatic)