org.apache.cassandra.db.marshal
Class CompositeType
java.lang.Object
org.apache.cassandra.db.marshal.AbstractType<java.nio.ByteBuffer>
org.apache.cassandra.db.marshal.AbstractCompositeType
org.apache.cassandra.db.marshal.CompositeType
- All Implemented Interfaces:
- java.util.Comparator<java.nio.ByteBuffer>
public class CompositeType
- extends AbstractCompositeType
Method Summary |
java.nio.ByteBuffer |
build(java.nio.ByteBuffer... buffers)
|
CompositeType.Builder |
builder()
|
java.nio.ByteBuffer |
decompose(java.lang.Object... objects)
|
protected AbstractType<?> |
getAndAppendComparator(int i,
java.nio.ByteBuffer bb,
java.lang.StringBuilder sb)
Adds type information from @param bb to @param sb. |
protected AbstractType<?> |
getComparator(int i,
java.nio.ByteBuffer bb)
|
protected AbstractType<?> |
getComparator(int i,
java.nio.ByteBuffer bb1,
java.nio.ByteBuffer bb2)
Adds DynamicCompositeType type information from @param bb1 to @param bb2. |
static CompositeType |
getInstance(java.util.List<AbstractType<?>> types)
|
static CompositeType |
getInstance(TypeParser parser)
|
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. |
protected AbstractCompositeType.ParsedComparator |
parseComparator(int i,
java.lang.String part)
Used by fromString |
java.lang.String |
toString()
This must be overriden by subclasses if necessary so that for any
AbstractType, this == TypeParser.parse(toString()). |
protected AbstractType<?> |
validateComparator(int i,
java.nio.ByteBuffer bb)
Like getComparator, but validates that @param i does not exceed the defined range |
Methods inherited from class org.apache.cassandra.db.marshal.AbstractCompositeType |
compare, compose, decompose, deconstruct, fromString, getBytes, getShortLength, getString, getWithShortLength, putShortLength, split, validate |
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 |
types
public final java.util.List<AbstractType<?>> types
getInstance
public static CompositeType getInstance(TypeParser parser)
throws ConfigurationException,
SyntaxException
- Throws:
ConfigurationException
SyntaxException
getInstance
public static CompositeType getInstance(java.util.List<AbstractType<?>> types)
getComparator
protected AbstractType<?> getComparator(int i,
java.nio.ByteBuffer bb)
- Specified by:
getComparator
in class AbstractCompositeType
- Returns:
- the comparator for the given component. static CompositeType will consult
getComparator
protected AbstractType<?> getComparator(int i,
java.nio.ByteBuffer bb1,
java.nio.ByteBuffer bb2)
- Description copied from class:
AbstractCompositeType
- Adds DynamicCompositeType type information from @param bb1 to @param bb2.
- Specified by:
getComparator
in class AbstractCompositeType
- Parameters:
i
- is ignored.
getAndAppendComparator
protected AbstractType<?> getAndAppendComparator(int i,
java.nio.ByteBuffer bb,
java.lang.StringBuilder sb)
- Description copied from class:
AbstractCompositeType
- Adds type information from @param bb to @param sb. @param i is ignored.
- Specified by:
getAndAppendComparator
in class AbstractCompositeType
parseComparator
protected AbstractCompositeType.ParsedComparator parseComparator(int i,
java.lang.String part)
- Description copied from class:
AbstractCompositeType
- Used by fromString
- Specified by:
parseComparator
in class AbstractCompositeType
validateComparator
protected AbstractType<?> validateComparator(int i,
java.nio.ByteBuffer bb)
throws MarshalException
- Description copied from class:
AbstractCompositeType
- Like getComparator, but validates that @param i does not exceed the defined range
- Specified by:
validateComparator
in class AbstractCompositeType
- Throws:
MarshalException
decompose
public java.nio.ByteBuffer decompose(java.lang.Object... objects)
- Specified by:
decompose
in class AbstractCompositeType
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>
builder
public CompositeType.Builder builder()
build
public java.nio.ByteBuffer build(java.nio.ByteBuffer... buffers)
Copyright © 2012 The Apache Software Foundation