Class SkipDateTimeField

  • All Implemented Interfaces:
    java.io.Serializable

    public final class SkipDateTimeField
    extends DelegatedDateTimeField
    Wraps another field such that a certain value is skipped.

    This is most useful for years where you want to skip zero, so the sequence runs ...,2,1,-1,-2,...

    SkipDateTimeField is thread-safe and immutable.

    Since:
    1.0
    See Also:
    Serialized Form
    • Constructor Detail

      • SkipDateTimeField

        public SkipDateTimeField​(Chronology chronology,
                                 DateTimeField field)
        Constructor that skips zero.
        Parameters:
        chronology - the chronology to use
        field - the field to skip zero on
      • SkipDateTimeField

        public SkipDateTimeField​(Chronology chronology,
                                 DateTimeField field,
                                 int skip)
        Constructor.
        Parameters:
        chronology - the chronology to use
        field - the field to skip zero on
        skip - the value to skip
    • Method Detail

      • get

        public int get​(long millis)
        Description copied from class: DateTimeField
        Get the value of this field from the milliseconds.
        Overrides:
        get in class DelegatedDateTimeField
        Parameters:
        millis - the milliseconds from 1970-01-01T00:00:00Z to query
        Returns:
        the value of the field, in the units of the field
      • set

        public long set​(long millis,
                        int value)
        Description copied from class: DateTimeField
        Sets a value in the milliseconds supplied.

        The value of this field will be set. If the value is invalid, an exception if thrown.

        If setting this field would make other fields invalid, then those fields may be changed. For example if the current date is the 31st January, and the month is set to February, the day would be invalid. Instead, the day would be changed to the closest value - the 28th/29th February as appropriate.

        Overrides:
        set in class DelegatedDateTimeField
        Parameters:
        millis - the milliseconds from 1970-01-01T00:00:00Z to set in
        value - the value to set, in the units of the field
        Returns:
        the updated milliseconds
      • getMinimumValue

        public int getMinimumValue()
        Description copied from class: DateTimeField
        Get the minimum allowable value for this field.
        Overrides:
        getMinimumValue in class DelegatedDateTimeField
        Returns:
        the minimum valid value for this field, in the units of the field