org.apache.cassandra.db.marshal
Class ColumnToCollectionType

java.lang.Object
  extended by org.apache.cassandra.db.marshal.AbstractType<java.nio.ByteBuffer>
      extended by org.apache.cassandra.db.marshal.ColumnToCollectionType
All Implemented Interfaces:
java.util.Comparator<java.nio.ByteBuffer>

public class ColumnToCollectionType
extends AbstractType<java.nio.ByteBuffer>


Field Summary
 java.util.Map<java.nio.ByteBuffer,CollectionType> defined
           
 
Fields inherited from class org.apache.cassandra.db.marshal.AbstractType
columnComparator, columnReverseComparator, indexComparator, indexReverseComparator, onDiskAtomComparator, reverseComparator
 
Method Summary
 int compare(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)
           
 int compareCollectionMembers(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2, java.nio.ByteBuffer collectionName)
          An alternative comparison function used by CollectionsType in conjunction with CompositeType.
 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.
static ColumnToCollectionType getInstance(java.util.Map<java.nio.ByteBuffer,CollectionType> defined)
           
static ColumnToCollectionType getInstance(TypeParser parser)
           
 java.lang.String getString(java.nio.ByteBuffer bytes)
          get a string representation of the bytes suitable for log messages
 boolean isCompatibleWith(AbstractType<?> previous)
          Returns true if this comparator is compatible with the provided previous comparator, that is if previous can safely be replaced by this.
 java.lang.String toString()
          This must be overriden by subclasses if necessary so that for any AbstractType, this == TypeParser.parse(toString()).
 void validate(java.nio.ByteBuffer bytes)
           
 void validateCollectionMember(java.nio.ByteBuffer bytes, java.nio.ByteBuffer collectionName)
          An alternative validation function used by CollectionsType in conjunction with CompositeType.
 
Methods inherited from class org.apache.cassandra.db.marshal.AbstractType
getColumnsString, getReverseComparator, getString, isCollection, isCommutative, parseDefaultParameters
 
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
 

Field Detail

defined

public final java.util.Map<java.nio.ByteBuffer,CollectionType> defined
Method Detail

getInstance

public static ColumnToCollectionType getInstance(TypeParser parser)
                                          throws SyntaxException,
                                                 ConfigurationException
Throws:
SyntaxException
ConfigurationException

getInstance

public static ColumnToCollectionType getInstance(java.util.Map<java.nio.ByteBuffer,CollectionType> defined)

compare

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

compareCollectionMembers

public int compareCollectionMembers(java.nio.ByteBuffer o1,
                                    java.nio.ByteBuffer o2,
                                    java.nio.ByteBuffer collectionName)
Description copied from class: AbstractType
An alternative comparison function used by CollectionsType in conjunction with CompositeType. This comparator is only called to compare components of a CompositeType. It gets the value of the previous component as argument (or null if it's the first component of the composite). Unless you're doing something very similar to CollectionsType, you shouldn't override this.

Overrides:
compareCollectionMembers in class AbstractType<java.nio.ByteBuffer>

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>

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.

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

validate

public void validate(java.nio.ByteBuffer bytes)
Specified by:
validate in class AbstractType<java.nio.ByteBuffer>

validateCollectionMember

public void validateCollectionMember(java.nio.ByteBuffer bytes,
                                     java.nio.ByteBuffer collectionName)
                              throws MarshalException
Description copied from class: AbstractType
An alternative validation function used by CollectionsType in conjunction with CompositeType. This is similar to the compare function above.

Overrides:
validateCollectionMember in class AbstractType<java.nio.ByteBuffer>
Throws:
MarshalException

isCompatibleWith

public boolean isCompatibleWith(AbstractType<?> previous)
Description copied from class: AbstractType
Returns true if this comparator is compatible with the provided previous comparator, that is if previous can safely be replaced by this. A comparator cn should be compatible with a previous one cp if forall columns c1 and c2, if cn.validate(c1) and cn.validate(c2) and cn.compare(c1, c2) == v, then cp.validate(c1) and cp.validate(c2) and cp.compare(c1, c2) == v. Note that a type should be compatible with at least itself and when in doubt, keep the default behavior of not being compatible with any other comparator!

Overrides:
isCompatibleWith in class AbstractType<java.nio.ByteBuffer>

toString

public java.lang.String toString()
Description copied from class: AbstractType
This must be overriden by subclasses if necessary so that for any AbstractType, this == TypeParser.parse(toString()). Note that for backwards compatibility this includes the full classname. For CQL purposes the short name is fine.

Overrides:
toString in class AbstractType<java.nio.ByteBuffer>


Copyright © 2012 The Apache Software Foundation