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)
           
 int getJdbcType()
           
protected abstract  AbstractType getNextComparator(int i, java.nio.ByteBuffer bb)
           
protected abstract  AbstractType getNextComparator(int i, java.nio.ByteBuffer bb1, java.nio.ByteBuffer bb2)
           
 int getPrecision(java.nio.ByteBuffer obj)
           
 int getScale(java.nio.ByteBuffer obj)
           
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
 java.lang.Class<java.nio.ByteBuffer> getType()
          returns the class this AbstractType represents.
protected static java.nio.ByteBuffer getWithShortLength(java.nio.ByteBuffer bb)
           
 boolean isCaseSensitive()
           
 boolean isCurrency()
           
 boolean isSigned()
           
 boolean needsQuotes()
           
protected abstract  AbstractCompositeType.ParsedComparator parseNextComparator(int i, java.lang.String part)
           
protected static void putShortLength(java.nio.ByteBuffer bb, int length)
           
 java.lang.String toString(java.nio.ByteBuffer value)
          get a string representation of a particular type.
 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>

getType

public java.lang.Class<java.nio.ByteBuffer> getType()
Description copied from class: AbstractType
returns the class this AbstractType represents.

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

toString

public java.lang.String toString(java.nio.ByteBuffer value)
Description copied from class: AbstractType
get a string representation of a particular type.

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

isSigned

public boolean isSigned()
Specified by:
isSigned in class AbstractType<java.nio.ByteBuffer>

isCaseSensitive

public boolean isCaseSensitive()
Specified by:
isCaseSensitive in class AbstractType<java.nio.ByteBuffer>

isCurrency

public boolean isCurrency()
Specified by:
isCurrency in class AbstractType<java.nio.ByteBuffer>

getPrecision

public int getPrecision(java.nio.ByteBuffer obj)
Specified by:
getPrecision in class AbstractType<java.nio.ByteBuffer>

getScale

public int getScale(java.nio.ByteBuffer obj)
Specified by:
getScale in class AbstractType<java.nio.ByteBuffer>

getJdbcType

public int getJdbcType()
Specified by:
getJdbcType in class AbstractType<java.nio.ByteBuffer>

needsQuotes

public boolean needsQuotes()
Specified by:
needsQuotes 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 © 2011 The Apache Software Foundation