Class BasePartial
- All Implemented Interfaces:
Serializable
,Comparable<ReadablePartial>
,ReadablePartial
- Direct Known Subclasses:
MonthDay
,TimeOfDay
,YearMonth
,YearMonthDay
Chronology
fields.
This class should generally not be used directly by API users.
The ReadablePartial
interface should be used when different
kinds of partial objects are to be referenced.
BasePartial subclasses may be mutable and not thread-safe.
- Since:
- 1.0
- Author:
- Stephen Colebourne
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructs a partial with the current time, using ISOChronology in the default zone to extract the fields.protected
BasePartial
(int[] values, Chronology chronology) Constructs a partial with specified time field values and chronology.protected
BasePartial
(long instant) Constructs a partial extracting the partial fields from the specified milliseconds using the ISOChronology in the default zone.protected
BasePartial
(long instant, Chronology chronology) Constructs a partial extracting the partial fields from the specified milliseconds using the chronology provided.protected
BasePartial
(Object instant, Chronology chronology) Constructs a partial from an Object that represents a time, using the specified chronology.protected
BasePartial
(Object instant, Chronology chronology, DateTimeFormatter parser) Constructs a partial from an Object that represents a time, using the specified chronology.protected
BasePartial
(BasePartial base, int[] values) Private constructor to be used by subclasses only which performs no validation.protected
BasePartial
(BasePartial base, Chronology chrono) Private constructor to be used by subclasses only which performs no validation.protected
BasePartial
(Chronology chronology) Constructs a partial with the current time, using the specified chronology and zone to extract the fields. -
Method Summary
Modifier and TypeMethodDescriptionGets the chronology of the partial which is never null.int
getValue
(int index) Gets the value of the field at the specified index.int[]
Gets an array of the value of each of the fields that this partial supports.protected void
setValue
(int index, int value) Sets the value of the field at the specified index.protected void
setValues
(int[] values) Sets the values of all fields.Output the date using the specified format pattern.Output the date using the specified format pattern.Methods inherited from class org.joda.time.base.AbstractPartial
compareTo, equals, get, getField, getField, getFields, getFieldType, getFieldTypes, hashCode, indexOf, indexOf, indexOfSupported, indexOfSupported, isAfter, isBefore, isEqual, isSupported, toDateTime, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.joda.time.ReadablePartial
equals, get, getField, getFieldType, hashCode, isSupported, size, toDateTime, toString
-
Constructor Details
-
BasePartial
protected BasePartial()Constructs a partial with the current time, using ISOChronology in the default zone to extract the fields.The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
-
BasePartial
Constructs a partial with the current time, using the specified chronology and zone to extract the fields.The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
- Parameters:
chronology
- the chronology, null means ISOChronology in the default zone
-
BasePartial
protected BasePartial(long instant) Constructs a partial extracting the partial fields from the specified milliseconds using the ISOChronology in the default zone.The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Z
-
BasePartial
Constructs a partial extracting the partial fields from the specified milliseconds using the chronology provided.The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
- Parameters:
instant
- the milliseconds from 1970-01-01T00:00:00Zchronology
- the chronology, null means ISOChronology in the default zone
-
BasePartial
Constructs a partial from an Object that represents a time, using the specified chronology.The recognised object types are defined in
ConverterManager
and include ReadableInstant, String, Calendar and Date.The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
- Parameters:
instant
- the datetime objectchronology
- the chronology, null means use converter- Throws:
IllegalArgumentException
- if the date is invalid
-
BasePartial
Constructs a partial from an Object that represents a time, using the specified chronology.The recognised object types are defined in
ConverterManager
and include ReadableInstant, String, Calendar and Date.The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
- Parameters:
instant
- the datetime objectchronology
- the chronology, null means use converterparser
- if converting from a String, the given parser is preferred- Throws:
IllegalArgumentException
- if the date is invalid- Since:
- 1.3
-
BasePartial
Constructs a partial with specified time field values and chronology.The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
The array of values is assigned (not cloned) to the new instance.
- Parameters:
values
- the new set of valueschronology
- the chronology, null means ISOChronology in the default zone- Throws:
IllegalArgumentException
- if the values are invalid
-
BasePartial
Private constructor to be used by subclasses only which performs no validation.Data is assigned (not cloned) to the new instance.
- Parameters:
base
- the base partialvalues
- the new set of values, not cloned, null means use base
-
BasePartial
Private constructor to be used by subclasses only which performs no validation.Data is assigned (not cloned) to the new instance. This should not be used by mutable subclasses.
- Parameters:
base
- the base partialchrono
- the chronology to use, null means use base
-
-
Method Details
-
getValue
public int getValue(int index) Gets the value of the field at the specified index.- Specified by:
getValue
in interfaceReadablePartial
- Parameters:
index
- the index- Returns:
- the value
- Throws:
IndexOutOfBoundsException
- if the index is invalid
-
getValues
public int[] getValues()Gets an array of the value of each of the fields that this partial supports.The fields are returned largest to smallest, for example Hour, Minute, Second. Each value corresponds to the same array index as
getFields()
- Overrides:
getValues
in classAbstractPartial
- Returns:
- the current values of each field (cloned), largest to smallest
-
getChronology
Gets the chronology of the partial which is never null.The
Chronology
is the calculation engine behind the partial and provides conversion and validation of the fields in a particular calendar system.- Specified by:
getChronology
in interfaceReadablePartial
- Returns:
- the chronology, never null
-
setValue
protected void setValue(int index, int value) Sets the value of the field at the specified index.In version 2.0 and later, this method copies the array into the original. This is because the instance variable has been changed to be final to satisfy the Java Memory Model. This only impacts subclasses that are mutable.
- Parameters:
index
- the indexvalue
- the value to set- Throws:
IndexOutOfBoundsException
- if the index is invalid
-
setValues
protected void setValues(int[] values) Sets the values of all fields.In version 2.0 and later, this method copies the array into the original. This is because the instance variable has been changed to be final to satisfy the Java Memory Model. This only impacts subclasses that are mutable.
- Parameters:
values
- the array of values
-
toString
Output the date using the specified format pattern.- Parameters:
pattern
- the pattern specification, null means usetoString
- See Also:
-
toString
Output the date using the specified format pattern.- Parameters:
pattern
- the pattern specification, null means usetoString
locale
- Locale to use, null means default- Throws:
IllegalArgumentException
- See Also:
-