|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.joda.time.base.AbstractPartial
public abstract class AbstractPartial
AbstractPartial provides a standard base implementation of most methods in the ReadablePartial interface.
Calculations on are performed using a Chronology
.
This chronology is set to be in the UTC time zone for all calculations.
The methods on this class use ReadablePartial.size()
,
getField(int, Chronology)
and
ReadablePartial.getValue(int)
to calculate their results.
Subclasses may have a better implementation.
AbstractPartial allows subclasses may be mutable and not thread-safe.
Constructor Summary | |
---|---|
protected |
AbstractPartial()
Constructor. |
Method Summary | |
---|---|
int |
compareTo(ReadablePartial other)
Compares this partial with another returning an integer indicating the order. |
boolean |
equals(Object partial)
Compares this ReadablePartial with another returning true if the chronology, field types and values are equal. |
int |
get(DateTimeFieldType type)
Get the value of one of the fields of a datetime. |
DateTimeField |
getField(int index)
Gets the field at the specifed index. |
protected abstract DateTimeField |
getField(int index,
Chronology chrono)
Gets the field for a specific index in the chronology specified. |
DateTimeField[] |
getFields()
Gets an array of the fields that this partial supports. |
DateTimeFieldType |
getFieldType(int index)
Gets the field type at the specifed index. |
DateTimeFieldType[] |
getFieldTypes()
Gets an array of the field types that this partial supports. |
int[] |
getValues()
Gets an array of the value of each of the fields that this partial supports. |
int |
hashCode()
Gets a hash code for the ReadablePartial that is compatible with the equals method. |
int |
indexOf(DateTimeFieldType type)
Gets the index of the specified field, or -1 if the field is unsupported. |
protected int |
indexOf(DurationFieldType type)
Gets the index of the first fields to have the specified duration, or -1 if the field is unsupported. |
protected int |
indexOfSupported(DateTimeFieldType type)
Gets the index of the specified field, throwing an exception if the field is unsupported. |
protected int |
indexOfSupported(DurationFieldType type)
Gets the index of the first fields to have the specified duration, throwing an exception if the field is unsupported. |
boolean |
isAfter(ReadablePartial partial)
Is this partial later than the specified partial. |
boolean |
isBefore(ReadablePartial partial)
Is this partial earlier than the specified partial. |
boolean |
isEqual(ReadablePartial partial)
Is this partial the same as the specified partial. |
boolean |
isSupported(DateTimeFieldType type)
Checks whether the field specified is supported by this partial. |
DateTime |
toDateTime(ReadableInstant baseInstant)
Resolves this partial against another complete instant to create a new full instant. |
String |
toString(DateTimeFormatter formatter)
Uses the specified formatter to convert this partial to a String. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.joda.time.ReadablePartial |
---|
getChronology, getValue, size, toString |
Constructor Detail |
---|
protected AbstractPartial()
Method Detail |
---|
protected abstract DateTimeField getField(int index, Chronology chrono)
This method must not use any instance variables.
index
- the index to retrievechrono
- the chronology to use
IndexOutOfBoundsException
- if the index is invalidpublic DateTimeFieldType getFieldType(int index)
getFieldType
in interface ReadablePartial
index
- the index
IndexOutOfBoundsException
- if the index is invalidpublic DateTimeFieldType[] getFieldTypes()
The fields are returned largest to smallest, for example Hour, Minute, Second.
public DateTimeField getField(int index)
getField
in interface ReadablePartial
index
- the index
IndexOutOfBoundsException
- if the index is invalidpublic DateTimeField[] getFields()
The fields are returned largest to smallest, for example Hour, Minute, Second.
public int[] getValues()
The fields are returned largest to smallest, for example Hour, Minute, Second.
Each value corresponds to the same array index as getFields()
public int get(DateTimeFieldType type)
The field specified must be one of those that is supported by the partial.
get
in interface ReadablePartial
type
- a DateTimeFieldType instance that is supported by this partial
IllegalArgumentException
- if the field is null or not supportedpublic boolean isSupported(DateTimeFieldType type)
isSupported
in interface ReadablePartial
type
- the type to check, may be null which returns false
public int indexOf(DateTimeFieldType type)
type
- the type to check, may be null which returns -1
protected int indexOfSupported(DateTimeFieldType type)
type
- the type to check, not null
IllegalArgumentException
- if the field is null or not supportedprotected int indexOf(DurationFieldType type)
type
- the type to check, may be null which returns -1
protected int indexOfSupported(DurationFieldType type)
type
- the type to check, not null
IllegalArgumentException
- if the field is null or not supportedpublic DateTime toDateTime(ReadableInstant baseInstant)
For example, if this partial represents a time, then the result of this method will be the datetime from the specified base instant plus the time from this partial.
toDateTime
in interface ReadablePartial
baseInstant
- the instant that provides the missing fields, null means now
public boolean equals(Object partial)
equals
in interface ReadablePartial
equals
in class Object
partial
- an object to check against
public int hashCode()
hashCode
in interface ReadablePartial
hashCode
in class Object
public int compareTo(ReadablePartial other)
The fields are compared in order, from largest to smallest. The first field that is non-equal is used to determine the result.
The specified object must be a partial instance whose field types match those of this partial.
NOTE: Prior to v2.0, the Comparable
interface was only implemented
in this class and not in the ReadablePartial
interface.
compareTo
in interface Comparable<ReadablePartial>
other
- an object to check against
ClassCastException
- if the partial is the wrong class
or if it has field types that don't match
NullPointerException
- if the partial is nullpublic boolean isAfter(ReadablePartial partial)
The fields are compared in order, from largest to smallest. The first field that is non-equal is used to determine the result.
You may not pass null into this method. This is because you need a time zone to accurately determine the current date.
partial
- a partial to check against, must not be null
IllegalArgumentException
- if the specified partial is null
ClassCastException
- if the partial has field types that don't matchpublic boolean isBefore(ReadablePartial partial)
The fields are compared in order, from largest to smallest. The first field that is non-equal is used to determine the result.
You may not pass null into this method. This is because you need a time zone to accurately determine the current date.
partial
- a partial to check against, must not be null
IllegalArgumentException
- if the specified partial is null
ClassCastException
- if the partial has field types that don't matchpublic boolean isEqual(ReadablePartial partial)
The fields are compared in order, from largest to smallest. If all fields are equal, the result is true.
You may not pass null into this method. This is because you need a time zone to accurately determine the current date.
partial
- a partial to check against, must not be null
IllegalArgumentException
- if the specified partial is null
ClassCastException
- if the partial has field types that don't matchpublic String toString(DateTimeFormatter formatter)
formatter
- the formatter to use, null means use toString()
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |