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
`static TimestampType` `instance`

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

`reverseComparator`

### Method Summary

All Methods Instance Methods Concrete Methods
`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>`