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:
Serializable
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
- Author:
- Brian S O'Neill
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DateTimeField
getInstance
(DateTimeField field) Returns a strict version of the given field.final boolean
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
-
Constructor Details
-
StrictDateTimeField
-
-
Method Details
-
getInstance
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.- Parameters:
field
- the field, null returns null- Returns:
- the field. may be null
-
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:
IllegalArgumentException
- if the value is invalid
-