org.joda.time.field
Class StrictDateTimeField

java.lang.Object
  extended by org.joda.time.DateTimeField
      extended by org.joda.time.field.DelegatedDateTimeField
          extended by org.joda.time.field.StrictDateTimeField
All Implemented Interfaces:
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
Author:
Brian S O'Neill
See Also:
StrictChronology, LenientDateTimeField, Serialized Form

Constructor Summary
protected StrictDateTimeField(DateTimeField field)
           
 
Method Summary
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 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StrictDateTimeField

protected StrictDateTimeField(DateTimeField field)
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 class DelegatedDateTimeField
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 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
Throws:
IllegalArgumentException - if the value is invalid


Copyright © 2002-2012 Joda.org. All Rights Reserved.