org.apache.cassandra.db.marshal

## Class TimestampType

- java.lang.Object
- - org.apache.cassandra.db.marshal.AbstractType<java.util.Date>
  - - org.apache.cassandra.db.marshal.TimestampType

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

      public class TimestampType
      extends AbstractType<java.util.Date>

  Type for date-time values. This is meant as a replacement for DateType, as DateType wrongly compare pre-unix-epoch dates, sorting them *after* post-unix-epoch ones (due to it's use of unsigned bytes comparison).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static TimestampType` | `instance`

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

      `reverseComparator`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `CQL3Type` | `asCQL3Type()`
    `int` | `compare(java.nio.ByteBuffer o1, java.nio.ByteBuffer o2)`
    `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.
    `java.nio.ByteBuffer` | `fromTimeInMillis(long millis)`
    `TypeSerializer<java.util.Date>` | `getSerializer()`
    `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.
    `boolean` | `isEmptyValueMeaningless()` Returns `true` for types where empty should be handled like `null` like `Int32Type`.
    `boolean` | `isValueCompatibleWithInternal(AbstractType<?> otherType)` Needed to handle ReversedType in value-compatibility checks.
    `java.lang.String` | `toJSONString(java.nio.ByteBuffer buffer, int protocolVersion)` Converts the specified value into its JSON representation.

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

      `asCQLTypeStringList, compareCollectionMembers, componentsCount, compose, decompose, freeze, getComponents, getString, getString, isByteOrderComparable, isCollection, isCounter, isFrozenCollection, isMultiCell, isReversed, isValueCompatibleWith, parseDefaultParameters, references, toString, toString, validate, 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

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

- - ### Field Detail

    - #### instance

          public static final TimestampType instance

  - ### Method Detail

    - #### isEmptyValueMeaningless

          public boolean isEmptyValueMeaningless()

      Description copied from class: `AbstractType`
      Returns `true` for types where empty should be handled like `null` like `Int32Type`.
      Overrides:
        `isEmptyValueMeaningless` in class `AbstractType<java.util.Date>`

    - #### compare

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

    - #### fromString

          public java.nio.ByteBuffer fromString(java.lang.String source)
                                         throws MarshalException

      Description copied from class: `AbstractType`
      get a byte representation of the given string.
      Specified by:
        `fromString` in class `AbstractType<java.util.Date>`
      Throws:
        `MarshalException`

    - #### fromTimeInMillis

          public java.nio.ByteBuffer fromTimeInMillis(long millis)
                                               throws MarshalException

      Throws:
        `MarshalException`

    - #### 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.util.Date>`
      Parameters:
        `parsed` - the result of parsing a json string
      Throws:
        `MarshalException`

    - #### toJSONString

          public java.lang.String toJSONString(java.nio.ByteBuffer buffer,
                                               int 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.util.Date>`
      Parameters:
        `buffer` - the value to convert
        `protocolVersion` - the protocol version to use for the conversion
      Returns:
        a JSON string representing the specified value

    - #### 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.util.Date>`

    - #### isValueCompatibleWithInternal

          public boolean isValueCompatibleWithInternal(AbstractType<?> otherType)

      Description copied from class: `AbstractType`
      Needed to handle ReversedType in value-compatibility checks. Subclasses should implement this instead of isValueCompatibleWith().
      Overrides:
        `isValueCompatibleWithInternal` in class `AbstractType<java.util.Date>`

    - #### asCQL3Type

          public CQL3Type asCQL3Type()

      Overrides:
        `asCQL3Type` in class `AbstractType<java.util.Date>`

    - #### getSerializer

          public TypeSerializer<java.util.Date> getSerializer()

      Specified by:
        `getSerializer` in class `AbstractType<java.util.Date>`

Copyright © 2018 The Apache Software Foundation