Package org.joda.time.field
Class StrictDateTimeField
- java.lang.Object
-
- org.joda.time.DateTimeField
-
- org.joda.time.field.DelegatedDateTimeField
-
- org.joda.time.field.StrictDateTimeField
-
- All Implemented Interfaces:
java.io.Serializable
public class StrictDateTimeField extends DelegatedDateTimeField
Converts a lenient DateTimeField into a strict one. By being strict, the set throws an IllegalArgumentException if the value is out of bounds.StrictDateTimeField is thread-safe and immutable.
- Since:
- 1.0
- See Also:
StrictChronology
,LenientDateTimeField
, Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DateTimeField
getInstance(DateTimeField field)
Returns a strict version of the given field.boolean
isLenient()
Returns true if the set method is lenient.long
set(long instant, int value)
Does a bounds check before setting the value.-
Methods inherited from class org.joda.time.field.DelegatedDateTimeField
add, add, add, addWrapField, addWrapField, addWrapPartial, get, getAsShortText, getAsShortText, getAsShortText, getAsShortText, getAsShortText, getAsText, getAsText, getAsText, getAsText, getAsText, getDifference, getDifferenceAsLong, getDurationField, getLeapAmount, getLeapDurationField, getMaximumShortTextLength, getMaximumTextLength, getMaximumValue, getMaximumValue, getMaximumValue, getMaximumValue, getMinimumValue, getMinimumValue, getMinimumValue, getMinimumValue, getName, getRangeDurationField, getType, getWrappedField, isLeap, isSupported, remainder, roundCeiling, roundFloor, roundHalfCeiling, roundHalfEven, roundHalfFloor, set, set, set, set, toString
-
Methods inherited from class org.joda.time.DateTimeField
setExtended
-
-
-
-
Method Detail
-
getInstance
public static DateTimeField getInstance(DateTimeField field)
Returns a strict version of the given field. If it is already strict, then it is returned as-is. Otherwise, a new StrictDateTimeField 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 classDelegatedDateTimeField
- Returns:
- true if this field is lenient
-
set
public long set(long instant, int value)
Does a bounds check before setting the value.- Overrides:
set
in classDelegatedDateTimeField
- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Z to set invalue
- the value to set, in the units of the field- Returns:
- the updated milliseconds
- Throws:
java.lang.IllegalArgumentException
- if the value is invalid
-
-