ColumnToCollectionType (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.db.marshal

## Class ColumnToCollectionType

- java.lang.Object
- - org.apache.cassandra.db.marshal.AbstractType<java.nio.ByteBuffer>
  - - org.apache.cassandra.db.marshal.ColumnToCollectionType

- All Implemented Interfaces:
    java.util.Comparator<java.nio.ByteBuffer>, AssignmentTestable

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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.cassandra.db.marshal.AbstractType

      `AbstractType.ComparisonType`

    - ### Nested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable

      `AssignmentTestable.TestResult`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.Map<java.nio.ByteBuffer,CollectionType>` | `defined`

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

      `comparisonType, isByteOrderComparable, reverseComparator`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `int` | `compareCustom(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)` Implement IFF ComparisonType is CUSTOM Compares the ByteBuffer representation of two instances of this class, for types where this cannot be done by simple in-order comparison of the unsigned bytes Standard Java compare semantics
    `Term` | `fromJSONObject(java.lang.Object parsed)` Given a parsed JSON string, return a byte representation of the object.
    `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)`
    `TypeSerializer<java.nio.ByteBuffer>` | `getSerializer()`
    `java.lang.String` | `getString(java.nio.ByteBuffer bytes)` get a string representation of the bytes used for various identifier (NOT just 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` | `toJSONString(java.nio.ByteBuffer buffer, ProtocolVersion protocolVersion)` Converts the specified value into its JSON representation.
    `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

      `asCQL3Type, asCQLTypeStringList, checkComparable, compare, compareForCQL, componentsCount, compose, decompose, equals, freeze, freezeNestedMulticellTypes, getComponents, getString, isCollection, isCounter, isEmptyValueMeaningless, isFreezable, isFrozenCollection, isMultiCell, isReversed, isTuple, isUDT, isValueCompatibleWith, isValueCompatibleWithInternal, parseDefaultParameters, readValue, readValue, referencesDuration, referencesUserType, skipValue, testAssignment, toString, validateCellValue, valueLengthIfFixed, writeValue, writtenLength`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Comparator

      `comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

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

    - #### compareCustom

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

      Description copied from class: `AbstractType`
      Implement IFF ComparisonType is CUSTOM Compares the ByteBuffer representation of two instances of this class, for types where this cannot be done by simple in-order comparison of the unsigned bytes Standard Java compare semantics
      Overrides:
        `compareCustom` in class `AbstractType<java.nio.ByteBuffer>`

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

    - #### getString

          public java.lang.String getString(java.nio.ByteBuffer bytes)

      Description copied from class: `AbstractType`
      get a string representation of the bytes used for various identifier (NOT just 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>`

    - #### fromJSONObject

          public Term fromJSONObject(java.lang.Object parsed)
                              throws MarshalException

      Description copied from class: `AbstractType`
      Given a parsed JSON string, return a byte representation of the object.
      Specified by:
        `fromJSONObject` in class `AbstractType<java.nio.ByteBuffer>`
      Parameters:
        `parsed` - the result of parsing a json string
      Throws:
        `MarshalException`

    - #### toJSONString

          public java.lang.String toJSONString(java.nio.ByteBuffer buffer,
                                               ProtocolVersion protocolVersion)

      Description copied from class: `AbstractType`
      Converts the specified value into its JSON representation.

      The buffer position will stay the same.

      Overrides:
        `toJSONString` in class `AbstractType<java.nio.ByteBuffer>`
      Parameters:
        `buffer` - the value to convert
        `protocolVersion` - the protocol version to use for the conversion
      Returns:
        a JSON string representing the specified value

    - #### validate

          public void validate(java.nio.ByteBuffer bytes)

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

    - #### getSerializer

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

      Specified by:
        `getSerializer` 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 © 2018 The Apache Software Foundation