Class PeriodToken

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

public final class PeriodToken extends Object implements ScalarToken, Comparable<PeriodToken>
An immutable PeriodValued object.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final PeriodToken
    A null valued PeriodToken
    static final PeriodToken
    A zero valued PeriodToken
    static final Period
    The period zero value, 0.
  • Constructor Summary

    Constructors
    Constructor
    Description
    PeriodToken(int years, int months, int days)
    Constructs a new token with the given non-null period value.
    Constructs a new token with the period value in the given container.
    Constructs a new token with the given non-null period value.
  • Method Summary

    Modifier and Type
    Method
    Description
    final Period
    Gets the contained Period value as a java.time.Period.
    int
     
    boolean
    Indicates whether another object is equal to this token.
    int
    Gets the day portion of the contained period value.
    int
    Gets the month portion of the contained period value.
    Gets the data type of the token.
    int
    Gets the year portion of the contained period value.
    int
    Returns a hash code for the token.
    final boolean
    Indicates whether the token is null valued.
    final boolean
    Indicates whether the value is the zero value for the type.
    parse(String value)
    Converts a string representation of a Period value into a token.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.pervasive.datarush.tokens.DataToken

    toString

    Methods inherited from interface com.pervasive.datarush.tokens.scalar.ScalarValued

    getType, isZero

    Methods inherited from interface com.pervasive.datarush.tokens.TokenValued

    isNull
  • Field Details

    • NULL

      public static final PeriodToken NULL
      A null valued PeriodToken
    • ZERO_VALUE

      public static final Period ZERO_VALUE
      The period zero value, 0.
    • ZERO

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

    • PeriodToken

      public PeriodToken(PeriodValued value)
      Constructs a new token with the period value in the given container.
      Parameters:
      value - a PeriodValued containing the desired value
    • PeriodToken

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

      public PeriodToken(int years, int months, int days)
      Constructs a new token with the given non-null period value. If a null valued token is desired, use NULL.
      Parameters:
      years - the year portion of the period
      months - the month portion of the period
      days - the day portion of the period
  • Method Details

    • compareTo

      public int compareTo(PeriodToken that)
      Specified by:
      compareTo in interface Comparable<PeriodToken>
    • 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 PeriodToken parse(String value)
      Converts a string representation of a Period value into a token.
      Parameters:
      value - a string value to interpret as period; see Period.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.
    • getYears

      public int getYears()
      Description copied from interface: PeriodValued
      Gets the year portion of the contained period value.
      Specified by:
      getYears in interface PeriodValued
      Returns:
      the year portion of the contained value If null valued, as indicated by TokenValued.isNull(), 0 is returned.
    • getMonths

      public int getMonths()
      Description copied from interface: PeriodValued
      Gets the month portion of the contained period value. This does not include the year portion.
      Specified by:
      getMonths in interface PeriodValued
      Returns:
      the month portion of the contained value If null valued, as indicated by TokenValued.isNull(), 0 is returned.
    • getDays

      public int getDays()
      Description copied from interface: PeriodValued
      Gets the day portion of the contained period value. This does not include the year or month portion.
      Specified by:
      getDays in interface PeriodValued
      Returns:
      the day portion of the contained value If null valued, as indicated by TokenValued.isNull(), 0 is returned.
    • asPeriod

      public final Period asPeriod()
      Description copied from interface: PeriodValued
      Gets the contained Period value as a java.time.Period.
      Specified by:
      asPeriod in interface PeriodValued
      Returns:
      the contained value as a java.time.Period. 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