Class LenientDateTimeField

All Implemented Interfaces:
Serializable

public class LenientDateTimeField extends DelegatedDateTimeField
Converts a strict DateTimeField into a lenient one. By being lenient, the set method accepts out of bounds values, performing an addition instead.

LenientDateTimeField is thread-safe and immutable.

Since:
1.0
Author:
Brian S O'Neill
See Also:
  • Constructor Details

  • Method Details

    • getInstance

      public static DateTimeField getInstance(DateTimeField field, Chronology base)
      Returns a lenient version of the given field. If it is already lenient, then it is returned as-is. Otherwise, a new LenientDateTimeField is returned.
    • isLenient

      public final boolean isLenient()
      Description copied from class: DateTimeField
      Returns true if the set method is lenient. If so, it accepts values that are out of bounds. For example, a lenient day of month field accepts 32 for January, converting it to February 1.
      Overrides:
      isLenient in class DelegatedDateTimeField
      Returns:
      true if this field is lenient
    • set

      public long set(long instant, int value)
      Set values which may be out of bounds by adding the difference between the new value and the current value.
      Overrides:
      set in class DelegatedDateTimeField
      Parameters:
      instant - 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