Class PeriodToken

    • Field Detail

      • 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 Detail

      • 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 Detail

      • 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
      • 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.
      • 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