org.apache.cassandra.db.marshal
Class AbstractCompositeType

java.lang.Object
  extended by org.apache.cassandra.db.marshal.AbstractType<java.nio.ByteBuffer>
      extended by 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
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.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>

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