Class ObjectToken<O>

java.lang.Object
com.pervasive.datarush.tokens.scalar.ObjectToken<O>
Type Parameters:
O - the type of Java object contained in the token
All Implemented Interfaces:
DataToken, ObjectValued<O>, ScalarToken, ScalarValued, TokenValued, ObjectTyped<O>, ScalarTyped, TokenTyped, Serializable, Comparable<ObjectToken<O>>

public final class ObjectToken<O> extends Object implements ScalarToken, Comparable<ObjectToken<O>>
An immutable ObjectValued object.
See Also:
  • Constructor Details

    • ObjectToken

      public ObjectToken(ObjectValued<O> value)
      Constructs a new token with the object value in the given container.
      Parameters:
      value - a ObjectValued containing the desired value
    • ObjectToken

      public ObjectToken(ObjectTokenType<O> type, O value)
      Creates an object token
      Parameters:
      type - the static type of the object token
      value - the value of the token
    • ObjectToken

      public ObjectToken(O value)
      Constructs a new token with the given non-null object. If a null valued token is desired, use NULL(Class).
      Parameters:
      value - the object value of the token
      Throws:
      NullPointerException - if the value is null.
  • Method Details

    • NULL

      public static <O> ObjectToken<O> NULL(ObjectTokenType<O> type)
      Gets a null valued ObjectToken of the specified type.
      Type Parameters:
      O - the type of Java object contained in the token
      Parameters:
      type - the TokenType object describing the Java type
      Returns:
      a null valued token
    • ZERO

      public static <O> ObjectToken<O> ZERO(ObjectTokenType<O> type)
      Gets a zero valued ObjectToken of the specified type.
      Type Parameters:
      O - the type of Java object contained in the token
      Parameters:
      type - the TokenType object describing the Java type
      Returns:
      a null valued token
    • NULL

      public static <O> ObjectToken<O> NULL(Class<O> type)
      Gets a null valued ObjectToken of the specified type.
      Type Parameters:
      O - the type of Java object contained in the token
      Parameters:
      type - the Class object describing the Java type
      Returns:
      a null valued token
    • compareTo

      public int compareTo(ObjectToken<O> that)
      Specified by:
      compareTo in interface Comparable<O>
    • equals

      public boolean equals(Object obj)
      Description copied from interface: DataToken
      Indicates whether another object is equal to this token. Two null valued tokens are considered equal. This differs from the behavior of TokenComparator.equal(TokenValued,TokenValued) but makes it possible to store DataTokens in Maps.
      Specified by:
      equals in interface DataToken
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare
      Returns:
      true if the other object is a token of the same type and contains the same value, false otherwise.
    • hashCode

      public int hashCode()
      Description copied from interface: DataToken
      Returns a hash code for the token. This value is guaranteed to be consistent with that returned by TokenConverter.asHashCode(TokenValued).
      Specified by:
      hashCode in interface DataToken
      Overrides:
      hashCode in class Object
      Returns:
      a hash code value for the token
    • getType

      public final ObjectTokenType<O> getType()
      Description copied from interface: TokenValued
      Gets the data type of the token. This type will dictate the valid values that can be contained.
      Specified by:
      getType in interface ObjectTyped<O>
      Specified by:
      getType in interface ObjectValued<O>
      Specified by:
      getType in interface ScalarTyped
      Specified by:
      getType in interface ScalarValued
      Specified by:
      getType in interface TokenTyped
      Specified by:
      getType in interface TokenValued
      Returns:
      the token type.
    • asObject

      public final O asObject()
      Description copied from interface: ObjectValued
      Gets the contained Java object.
      Specified by:
      asObject in interface ObjectValued<O>
      Returns:
      the contained value. If null valued, as indicated by TokenValued.isNull(), null is returned.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isZero

      public boolean isZero()
      Description copied from interface: ScalarValued
      Indicates whether the value is the zero value for the type. Zero values are not stored in sparse representation formats.
      Specified by:
      isZero in interface ScalarValued
      Returns:
      true if the value is the zero value, false otherwise.
    • isNull

      public final boolean isNull()
      Description copied from interface: TokenValued
      Indicates whether the token is null valued. Tokens support null values analogous to SQL. Before accessing the value of the container, it is usually best to ensure it is not null valued using this method.
      Specified by:
      isNull in interface TokenValued
      Returns:
      true if the token is null valued, false otherwise