public abstract class

AbstractReadableInstantFieldProperty

extends Object
implements Serializable
java.lang.Object
   ↳ org.joda.time.field.AbstractReadableInstantFieldProperty
Known Direct Subclasses

Class Overview

AbstractReadableInstantFieldProperty is a base class for binding a ReadableInstant to a DateTimeField.

It allows the date and time manipulation code to be field based yet still easy to use.

AbstractReadableInstantFieldProperty itself is thread-safe and immutable, but the ReadableInstant being operated on may be mutable and not thread-safe.

Summary

Public Constructors
AbstractReadableInstantFieldProperty()
Constructor.
Public Methods
int compareTo(ReadablePartial partial)
Compare this field to the same field on another partial instant.
int compareTo(ReadableInstant instant)
Compare this field to the same field on another instant.
boolean equals(Object object)
Compares this property to another.
int get()
Gets the value of this property from the instant.
String getAsShortText()
Gets the short textual value of this property from the instant as a string in the default locale.
String getAsShortText(Locale locale)
Gets the short textual value of this property from the instant as a string in the specified locale.
String getAsString()
Gets the value of this property from the instant as a string.
String getAsText(Locale locale)
Gets the textual value of this property from the instant as a string in the specified locale.
String getAsText()
Gets the textual value of this property from the instant as a string in the default locale.
int getDifference(ReadableInstant instant)
Returns the difference between this field property instant and the one passed in, in the units of this field.
long getDifferenceAsLong(ReadableInstant instant)
Returns the difference between this field property instant and the one passed in, in the units of this field.
DurationField getDurationField()
Returns the duration per unit value of this field.
abstract DateTimeField getField()
Gets the field being used.
DateTimeFieldType getFieldType()
Gets the field type being used.
int getLeapAmount()
Gets the amount by which this field is leap.
DurationField getLeapDurationField()
If this field were to leap, then it would be in units described by the returned duration.
int getMaximumShortTextLength(Locale locale)
Gets the maximum short text length for the field.
int getMaximumTextLength(Locale locale)
Gets the maximum text length for the field.
int getMaximumValue()
Gets the maximum value for the field.
int getMaximumValueOverall()
Gets the maximum value for the field ignoring the current time.
int getMinimumValue()
Gets the minimum value for the field.
int getMinimumValueOverall()
Gets the minimum value for the field ignoring the current time.
String getName()
Gets the name of the field.
DurationField getRangeDurationField()
Returns the range duration of this field.
int hashCode()
Returns a hashcode compatible with the equals method.
boolean isLeap()
Gets whether this field is leap.
long remainder()
Returns the fractional duration milliseconds of this field.
Interval toInterval()
Returns the interval that represents the range of the minimum and maximum values of this field.
String toString()
Output a debugging string.
Protected Methods
Chronology getChronology()
Gets the chronology of the datetime that this property is linked to.
abstract long getMillis()
Gets the milliseconds of the datetime that this property is linked to.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public AbstractReadableInstantFieldProperty ()

Constructor.

Public Methods

public int compareTo (ReadablePartial partial)

Compare this field to the same field on another partial instant.

The comparison is based on the value of the same field type, irrespective of any difference in chronology. Thus, if this property represents the hourOfDay field, then the hourOfDay field of the other partial will be queried whether in the same chronology or not.

Parameters
partial the partial to compare to
Returns
  • negative value if this is less, 0 if equal, or positive value if greater
Throws
IllegalArgumentException if the partial is null
IllegalArgumentException if the partial doesn't support this field

public int compareTo (ReadableInstant instant)

Compare this field to the same field on another instant.

The comparison is based on the value of the same field type, irrespective of any difference in chronology. Thus, if this property represents the hourOfDay field, then the hourOfDay field of the other instant will be queried whether in the same chronology or not.

Parameters
instant the instant to compare to
Returns
  • negative value if this is less, 0 if equal, or positive value if greater
Throws
IllegalArgumentException if the instant is null

public boolean equals (Object object)

Compares this property to another.

Parameters
object the object to compare to
Returns
  • true if equal

public int get ()

Gets the value of this property from the instant.

For example, the following two lines of code are equivalent:

 datetime.getDayOfMonth();
 datetime.dayOfMonth().get();
 

Returns
  • the current value
See Also

public String getAsShortText ()

Gets the short textual value of this property from the instant as a string in the default locale.

This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Mon' in English.

Returns
  • the current text value

public String getAsShortText (Locale locale)

Gets the short textual value of this property from the instant as a string in the specified locale.

This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Mon' in English.

Parameters
locale locale to use for selecting a text symbol, null means default
Returns
  • the current text value

public String getAsString ()

Gets the value of this property from the instant as a string.

This method returns the value converted to a String using Integer.toString. This method does NOT return textual descriptions such as 'Monday' or 'January'. See getAsText() and getAsShortText() for those.

Returns
  • the current value
See Also

public String getAsText (Locale locale)

Gets the textual value of this property from the instant as a string in the specified locale.

This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Monday' in English.

Parameters
locale locale to use for selecting a text symbol, null means default
Returns
  • the current text value

public String getAsText ()

Gets the textual value of this property from the instant as a string in the default locale.

This method returns the value converted to a String returning the appropriate textual description wherever possible. Thus, a day of week of 1 would return 'Monday' in English.

Returns
  • the current text value

public int getDifference (ReadableInstant instant)

Returns the difference between this field property instant and the one passed in, in the units of this field. The sign of the difference matches that of compareTo. In other words, this field property's instant is the minuend.

Parameters
instant the subtrahend, null means now
Returns
  • the difference in the units of this field

public long getDifferenceAsLong (ReadableInstant instant)

Returns the difference between this field property instant and the one passed in, in the units of this field. The sign of the difference matches that of compareTo. In other words, this field property's instant is the minuend.

Parameters
instant the subtrahend, null means now
Returns
  • the difference in the units of this field

public DurationField getDurationField ()

Returns the duration per unit value of this field. For example, if this field represents "hour of day", then the duration is an hour.

Returns
  • the duration of this field, or UnsupportedDurationField

public abstract DateTimeField getField ()

Gets the field being used.

Returns
  • the field

public DateTimeFieldType getFieldType ()

Gets the field type being used.

Returns
  • the field type

public int getLeapAmount ()

Gets the amount by which this field is leap.

Returns
  • the amount by which the field is leap

public DurationField getLeapDurationField ()

If this field were to leap, then it would be in units described by the returned duration. If this field doesn't ever leap, null is returned.

public int getMaximumShortTextLength (Locale locale)

Gets the maximum short text length for the field.

Parameters
locale optional locale to use for selecting a text symbol
Returns
  • the maximum length

public int getMaximumTextLength (Locale locale)

Gets the maximum text length for the field.

Parameters
locale optional locale to use for selecting a text symbol
Returns
  • the maximum length

public int getMaximumValue ()

Gets the maximum value for the field.

Returns
  • the maximum value

public int getMaximumValueOverall ()

Gets the maximum value for the field ignoring the current time.

Returns
  • the maximum value

public int getMinimumValue ()

Gets the minimum value for the field.

Returns
  • the minimum value

public int getMinimumValueOverall ()

Gets the minimum value for the field ignoring the current time.

Returns
  • the minimum value

public String getName ()

Gets the name of the field.

Returns
  • the field name

public DurationField getRangeDurationField ()

Returns the range duration of this field. For example, if this field represents "hour of day", then the range duration is a day.

Returns
  • the range duration of this field, or null if field has no range

public int hashCode ()

Returns a hashcode compatible with the equals method.

Returns
  • the hashcode

public boolean isLeap ()

Gets whether this field is leap.

Returns
  • true if a leap field
See Also

public long remainder ()

Returns the fractional duration milliseconds of this field.

Returns
  • remainder duration, in milliseconds
See Also

public Interval toInterval ()

Returns the interval that represents the range of the minimum and maximum values of this field.

For example, datetime.monthOfYear().toInterval() will return an interval over the whole month.

Returns
  • the interval of this field

public String toString ()

Output a debugging string.

Returns
  • debugging string

Protected Methods

protected Chronology getChronology ()

Gets the chronology of the datetime that this property is linked to.

This implementation throws UnsupportedOperationException, and must be implemented by subclasses to enable the equals() and hashCode() methods.

Returns
  • the chronology

protected abstract long getMillis ()

Gets the milliseconds of the datetime that this property is linked to.

Returns
  • the milliseconds