Class DurationToken

java.lang.Object
com.pervasive.datarush.tokens.scalar.DurationToken
All Implemented Interfaces:
DataToken, DurationValued, ScalarToken, ScalarValued, TokenValued, ScalarTyped, TokenTyped, Serializable, Comparable<DurationToken>

public final class DurationToken extends Object implements ScalarToken, Comparable<DurationToken>
An immutable DurationValued object.
See Also:
  • Field Details

    • NULL

      public static final DurationToken NULL
      A null valued DurationToken
    • ZERO_VALUE

      public static final Duration ZERO_VALUE
      The duration zero value, 0.
    • ZERO

      public static final DurationToken ZERO
      A zero valued DurationToken
  • Constructor Details

    • DurationToken

      public DurationToken(DurationValued value)
      Constructs a new token with the duration value in the given container.
      Parameters:
      value - a DurationValued containing the desired value
    • DurationToken

      public DurationToken(Duration value)
      Constructs a new token with the given non-null duration value. If a null valued token is desired, use NULL.
      Parameters:
      value - the duration value of the token
    • DurationToken

      public DurationToken(long seconds, int nanos)
      Constructs a new token with the given non-null duration value. If a null valued token is desired, use NULL.
      Parameters:
      seconds - the second portion of the duration
      nanos - the subsecond portion of the duration
  • Method Details

    • compareTo

      public int compareTo(DurationToken that)
      Specified by:
      compareTo in interface Comparable<DurationToken>
    • 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
    • parse

      public static DurationToken parse(String value)
      Converts a string representation of a Duration value into a token.
      Parameters:
      value - a string value to interpret as duration; see Duration.parse(String)
      Returns:
      a token with the specified value
    • getType

      public final ScalarTokenType 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 ScalarTyped
      Specified by:
      getType in interface ScalarValued
      Specified by:
      getType in interface TokenTyped
      Specified by:
      getType in interface TokenValued
      Returns:
      the token type.
    • asSeconds

      public long asSeconds()
      Description copied from interface: DurationValued
      Get the contained duration value as the number of seconds.
      Specified by:
      asSeconds in interface DurationValued
      Returns:
      the contained value as seconds. If null valued, as indicated by TokenValued.isNull(), 0 is returned.
      See Also:
    • subsecNanos

      public int subsecNanos()
      Description copied from interface: DurationValued
      Get the subsecond portion of the contained duration value.
      Specified by:
      subsecNanos in interface DurationValued
      Returns:
      the subsecond portion of the contained value, in nanoseconds. If null valued, as indicated by TokenValued.isNull(), 0 is returned.
      See Also:
    • asDuration

      public final Duration asDuration()
      Description copied from interface: DurationValued
      Gets the contained Duration value as a java.time.Duration.
      Specified by:
      asDuration in interface DurationValued
      Returns:
      the contained value as a java.time.Duration. If null valued, as indicated by TokenValued.isNull(), null is returned.
    • isZero

      public final 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • 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