## org.apache.cassandra.db.marshal
Class AbstractCompositeType

    java.lang.Object
      org.apache.cassandra.db.marshal.AbstractType<java.nio.ByteBuffer>
          org.apache.cassandra.db.marshal.AbstractCompositeType

All Implemented Interfaces:
  java.util.Comparator<java.nio.ByteBuffer>

Direct Known Subclasses:
  CompositeType, DynamicCompositeType

    public abstract class AbstractCompositeType

extends AbstractType<java.nio.ByteBuffer>

A class avoiding class duplication between CompositeType and DynamicCompositeType. Those two differs only in that for DynamicCompositeType, the comparators are in the encoded column name at the front of each component.

Nested Class Summary
`static class` `AbstractCompositeType.CompositeComponent`
`protected static interface` `AbstractCompositeType.ParsedComparator`

Field Summary

Fields inherited from class org.apache.cassandra.db.marshal.AbstractType
`columnComparator, columnReverseComparator, indexComparator, indexReverseComparator, reverseComparator`

Constructor Summary
`AbstractCompositeType()`

Method Summary
`int` `compare(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)`
`java.nio.ByteBuffer` `compose(java.nio.ByteBuffer bytes)`
`java.nio.ByteBuffer` `decompose(java.nio.ByteBuffer value)`
`java.util.List<AbstractCompositeType.CompositeComponent>` `deconstruct(java.nio.ByteBuffer bytes)`
`java.nio.ByteBuffer` `fromString(java.lang.String source)` get a byte representation of the given string.
`protected abstract AbstractType` `getAndAppendNextComparator(int i, java.nio.ByteBuffer bb, java.lang.StringBuilder sb)`
`protected static java.nio.ByteBuffer` `getBytes(java.nio.ByteBuffer bb, int length)`
`protected abstract AbstractType` `getNextComparator(int i, java.nio.ByteBuffer bb)`
`protected abstract AbstractType` `getNextComparator(int i, java.nio.ByteBuffer bb1, java.nio.ByteBuffer bb2)`
`protected static int` `getShortLength(java.nio.ByteBuffer bb)`
`java.lang.String` `getString(java.nio.ByteBuffer bytes)` get a string representation of the bytes suitable for log messages
`protected static java.nio.ByteBuffer` `getWithShortLength(java.nio.ByteBuffer bb)`
`protected abstract AbstractCompositeType.ParsedComparator` `parseNextComparator(int i, java.lang.String part)`
`protected static void` `putShortLength(java.nio.ByteBuffer bb, int length)`
`void` `validate(java.nio.ByteBuffer bytes)`
`protected abstract AbstractType` `validateNextComparator(int i, java.nio.ByteBuffer bb)`

Methods inherited from class org.apache.cassandra.db.marshal.AbstractType
`getColumnsString, getReverseComparator, getString, isCommutative, parseDefaultParameters, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Comparator
`equals`

Constructor Detail

### AbstractCompositeType

    public AbstractCompositeType()

Method Detail

### getShortLength

    protected static int getShortLength(java.nio.ByteBuffer bb)

### putShortLength

    protected static void putShortLength(java.nio.ByteBuffer bb,
                                         int length)

### getBytes

    protected static java.nio.ByteBuffer getBytes(java.nio.ByteBuffer bb,
                                                  int length)

### getWithShortLength

    protected static java.nio.ByteBuffer getWithShortLength(java.nio.ByteBuffer bb)

### compare

    public int compare(java.nio.ByteBuffer o1,
                       java.nio.ByteBuffer o2)

### getString

    public java.lang.String getString(java.nio.ByteBuffer bytes)

  Description copied from class: `AbstractType`
  get a string representation of the bytes suitable for log messages

  Specified by:
    `getString` in class `AbstractType<java.nio.ByteBuffer>`

### deconstruct

    public java.util.List<AbstractCompositeType.CompositeComponent> deconstruct(java.nio.ByteBuffer bytes)

### fromString

    public java.nio.ByteBuffer fromString(java.lang.String source)

  Description copied from class: `AbstractType`
  get a byte representation of the given string. defaults to unsupportedoperation so people deploying custom Types can update at their leisure.

  Overrides:
    `fromString` in class `AbstractType<java.nio.ByteBuffer>`

### validate

    public void validate(java.nio.ByteBuffer bytes)
                  throws MarshalException

  Specified by:
    `validate` in class `AbstractType<java.nio.ByteBuffer>`
  Throws:
    `MarshalException`

### compose

    public java.nio.ByteBuffer compose(java.nio.ByteBuffer bytes)

  Specified by:
    `compose` in class `AbstractType<java.nio.ByteBuffer>`

### decompose

    public java.nio.ByteBuffer decompose(java.nio.ByteBuffer value)

  Specified by:
    `decompose` in class `AbstractType<java.nio.ByteBuffer>`

### getNextComparator

    protected abstract AbstractType getNextComparator(int i,
                                                      java.nio.ByteBuffer bb)

### getNextComparator

    protected abstract AbstractType getNextComparator(int i,
                                                      java.nio.ByteBuffer bb1,
                                                      java.nio.ByteBuffer bb2)

### getAndAppendNextComparator

    protected abstract AbstractType getAndAppendNextComparator(int i,
                                                               java.nio.ByteBuffer bb,
                                                               java.lang.StringBuilder sb)

### parseNextComparator

    protected abstract AbstractCompositeType.ParsedComparator parseNextComparator(int i,
                                                                                  java.lang.String part)

### validateNextComparator

    protected abstract AbstractType validateNextComparator(int i,
                                                           java.nio.ByteBuffer bb)
                                                    throws MarshalException

  Throws:
    `MarshalException`

Copyright © 2012 The Apache Software Foundation