AbstractCompositeType (apache-cassandra API)
Date: 2014-10-21

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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AbstractCompositeType.CompositeComponent`
    `protected static interface` | `AbstractCompositeType.ParsedComparator`

  - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.db.marshal.AbstractType

      `reverseComparator`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractCompositeType()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)`
    `abstract java.nio.ByteBuffer` | `decompose(java.lang.Object... objects)`
    `java.util.List<AbstractCompositeType.CompositeComponent>` | `deconstruct(java.nio.ByteBuffer bytes)`
    `static java.lang.String` | `escape(java.lang.String input)`
    `java.nio.ByteBuffer` | `fromString(java.lang.String source)` get a byte representation of the given string.
    `protected abstract AbstractType<?>` | `getAndAppendComparator(int i, java.nio.ByteBuffer bb, java.lang.StringBuilder sb)` Adds type information from @param bb to @param sb.
    `protected abstract AbstractType<?>` | `getComparator(int i, java.nio.ByteBuffer bb)`
    `protected abstract AbstractType<?>` | `getComparator(int i, java.nio.ByteBuffer bb1, java.nio.ByteBuffer bb2)` Adds DynamicCompositeType type information from @param bb1 to @param bb2.
    `TypeSerializer<java.nio.ByteBuffer>` | `getSerializer()`
    `java.lang.String` | `getString(java.nio.ByteBuffer bytes)` get a string representation of the bytes suitable for log messages
    `protected abstract AbstractCompositeType.ParsedComparator` | `parseComparator(int i, java.lang.String part)` Used by fromString
    `protected abstract boolean` | `readIsStatic(java.nio.ByteBuffer bb)`
    `java.nio.ByteBuffer[]` | `split(java.nio.ByteBuffer name)` Split a composite column names into it's components.
    `void` | `validate(java.nio.ByteBuffer bytes)`
    `protected abstract 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.AbstractType

      `asCQL3Type, compareCollectionMembers, componentsCount, compose, decompose, fromStringCQL2, getComponents, getString, isByteOrderComparable, isCollection, isCompatibleWith, isCounter, isValueCompatibleWith, isValueCompatibleWithInternal, parseDefaultParameters, toString, validateCellValue, validateCollectionMember`

    - ### 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

    - #### compare

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

    - #### readIsStatic

          protected abstract boolean readIsStatic(java.nio.ByteBuffer bb)

    - #### split

          public java.nio.ByteBuffer[] split(java.nio.ByteBuffer name)

      Split a composite column names into it's components.

    - #### deconstruct

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

    - #### escape

          public static java.lang.String escape(java.lang.String input)

    - #### 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
      Overrides:
        `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)
                        throws MarshalException

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

    - #### decompose

          public abstract java.nio.ByteBuffer decompose(java.lang.Object... objects)

    - #### getSerializer

          public TypeSerializer<java.nio.ByteBuffer> getSerializer()

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

    - #### getComparator

          protected abstract AbstractType<?> getComparator(int i,
                                      java.nio.ByteBuffer bb)

      Parameters:
        `i` - DynamicCompositeType will read the type information from @param bb
        `bb` - name of type definition
      Returns:
        the comparator for the given component. static CompositeType will consult

    - #### getComparator

          protected abstract AbstractType<?> getComparator(int i,
                                      java.nio.ByteBuffer bb1,
                                      java.nio.ByteBuffer bb2)

      Adds DynamicCompositeType type information from @param bb1 to @param bb2.
      Parameters:
        `i` - is ignored.

    - #### getAndAppendComparator

          protected abstract AbstractType<?> getAndAppendComparator(int i,
                                               java.nio.ByteBuffer bb,
                                               java.lang.StringBuilder sb)

      Adds type information from @param bb to @param sb. @param i is ignored.

    - #### validateComparator

          protected abstract AbstractType<?> validateComparator(int i,
                                           java.nio.ByteBuffer bb)
                                                         throws MarshalException

      Like getComparator, but validates that @param i does not exceed the defined range
      Throws:
        `MarshalException`

    - #### parseComparator

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

      Used by fromString

Copyright © 2014 The Apache Software Foundation