public abstract class AbstractReadableInstantFieldProperty extends Object implements Serializable
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.
Constructor and Description |
---|
AbstractReadableInstantFieldProperty()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(ReadableInstant instant)
Compare this field to the same field on another instant.
|
int |
compareTo(ReadablePartial partial)
Compare this field to the same field on another partial 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()
Gets the textual value of this property from the instant as a
string in the default locale.
|
String |
getAsText(Locale locale)
Gets the textual value of this property from the instant as a
string in the specified locale.
|
protected Chronology |
getChronology()
Gets the chronology of the datetime that this property is linked to.
|
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.
|
protected abstract long |
getMillis()
Gets the milliseconds of the datetime that this property is linked to.
|
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.
|
public AbstractReadableInstantFieldProperty()
public abstract DateTimeField getField()
public DateTimeFieldType getFieldType()
public String getName()
protected abstract long getMillis()
protected Chronology getChronology()
This implementation throws UnsupportedOperationException, and must be implemented by subclasses to enable the equals() and hashCode() methods.
public int get()
For example, the following two lines of code are equivalent:
datetime.getDayOfMonth(); datetime.dayOfMonth().get();
DateTimeField.get(long)
public String getAsString()
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.
DateTimeField.get(long)
public String getAsText()
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.
DateTimeField.getAsText(long, java.util.Locale)
public String getAsText(Locale 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.
locale
- locale to use for selecting a text symbol, null means defaultDateTimeField.getAsText(long, java.util.Locale)
public String getAsShortText()
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.
DateTimeField.getAsShortText(long, java.util.Locale)
public String getAsShortText(Locale 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.
locale
- locale to use for selecting a text symbol, null means defaultDateTimeField.getAsShortText(long, java.util.Locale)
public int getDifference(ReadableInstant instant)
instant
- the subtrahend, null means nowDateTimeField.getDifference(long, long)
public long getDifferenceAsLong(ReadableInstant instant)
instant
- the subtrahend, null means nowDateTimeField.getDifference(long, long)
public DurationField getDurationField()
public DurationField getRangeDurationField()
public boolean isLeap()
DateTimeField.isLeap(long)
public int getLeapAmount()
DateTimeField.getLeapAmount(long)
public DurationField getLeapDurationField()
public int getMinimumValueOverall()
DateTimeField.getMinimumValue()
public int getMinimumValue()
DateTimeField.getMinimumValue()
public int getMaximumValueOverall()
DateTimeField.getMaximumValue()
public int getMaximumValue()
DateTimeField.getMaximumValue()
public int getMaximumTextLength(Locale locale)
locale
- optional locale to use for selecting a text symbolDateTimeField.getMaximumTextLength(java.util.Locale)
public int getMaximumShortTextLength(Locale locale)
locale
- optional locale to use for selecting a text symbolDateTimeField.getMaximumShortTextLength(java.util.Locale)
public long remainder()
DateTimeField.remainder(long)
public Interval toInterval()
For example, datetime.monthOfYear().toInterval()
will return an interval over the whole month.
public int compareTo(ReadableInstant 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.
instant
- the instant to compare toIllegalArgumentException
- if the instant is nullpublic int compareTo(ReadablePartial partial)
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.
partial
- the partial to compare toIllegalArgumentException
- if the partial is nullIllegalArgumentException
- if the partial doesn't support this fieldpublic boolean equals(Object object)
public int hashCode()
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.