Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.joda.time.base
Class AbstractPeriod

    java.lang.Object
      org.joda.time.base.AbstractPeriod

All Implemented Interfaces:
  ReadablePeriod

Direct Known Subclasses:
  BasePeriod

    public abstract class AbstractPeriod

extends java.lang.Object
implements ReadablePeriod

AbstractPeriod provides the common behaviour for period classes.

This class should generally not be used directly by API users. The `ReadablePeriod` interface should be used when different kinds of periods are to be referenced.

AbstractPeriod subclasses may be mutable and not thread-safe.

Since:
  1.0
Author:
  Brian S O'Neill, Stephen Colebourne

Constructor Summary
`protected` | `AbstractPeriod()` Constructor.

Method Summary
`boolean` | `equals(java.lang.Object period)` Compares this object with the specified object for equality based on the value of each field.
`int` | `get(DurationFieldType type)` Gets the value of one of the fields.
`DurationFieldType[]` | `getFieldTypes()` Gets an array of the field types that this period supports.
`int[]` | `getValues()` Gets an array of the value of each of the fields that this period supports.
`int` | `hashCode()` Gets a hash code for the period as defined by ReadablePeriod.
`int` | `indexOf(DurationFieldType type)` Gets the index of the field in this period.
`boolean` | `isSupported(DurationFieldType type)` Checks whether the field specified is supported by this period.
`MutablePeriod` | `toMutablePeriod()` Get this object as a `MutablePeriod`.
`Period` | `toPeriod()` Get this period as an immutable `Period` object.
`java.lang.String` | `toString()` Gets the value as a String in the ISO8601 duration format.
`java.lang.String` | `toString(PeriodFormatter formatter)` Uses the specified formatter to convert this period to a String.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.joda.time.ReadablePeriod
`getFieldType, getPeriodType, getValue, size`

Constructor Detail

### AbstractPeriod

    protected AbstractPeriod()

  Constructor.

Method Detail

### getFieldTypes

    public DurationFieldType[] getFieldTypes()

  Gets an array of the field types that this period supports.

  The fields are returned largest to smallest, for example Hours, Minutes, Seconds.

  Returns:
    the fields supported in an array that may be altered, largest to smallest

### getValues

    public int[] getValues()

  Gets an array of the value of each of the fields that this period supports.

  The fields are returned largest to smallest, for example Hours, Minutes, Seconds. Each value corresponds to the same array index as `getFields()`

  Returns:
    the current values of each field in an array that may be altered, largest to smallest

### get

    public int get(DurationFieldType type)

  Gets the value of one of the fields.

  If the field type specified is not supported by the period then zero is returned.

  Specified by:
    `get` in interface `ReadablePeriod`
  Parameters:
    `type` - the field type to query, null returns zero
  Returns:
    the value of that field, zero if field not supported

### isSupported

    public boolean isSupported(DurationFieldType type)

  Checks whether the field specified is supported by this period.

  Specified by:
    `isSupported` in interface `ReadablePeriod`
  Parameters:
    `type` - the type to check, may be null which returns false
  Returns:
    true if the field is supported

### indexOf

    public int indexOf(DurationFieldType type)

  Gets the index of the field in this period.

  Parameters:
    `type` - the type to check, may be null which returns -1
  Returns:
    the index of -1 if not supported

### toPeriod

    public Period toPeriod()

  Get this period as an immutable `Period` object.

  Specified by:
    `toPeriod` in interface `ReadablePeriod`
  Returns:
    a Period using the same field set and values

### toMutablePeriod

    public MutablePeriod toMutablePeriod()

  Get this object as a `MutablePeriod`.

  This will always return a new `MutablePeriod` with the same fields.

  Specified by:
    `toMutablePeriod` in interface `ReadablePeriod`
  Returns:
    a MutablePeriod using the same field set and values

### equals

    public boolean equals(java.lang.Object period)

  Compares this object with the specified object for equality based on the value of each field. All ReadablePeriod instances are accepted.

  Note that a period of 1 day is not equal to a period of 24 hours, nor is 1 hour equal to 60 minutes. Only periods with the same amount in each field are equal.

  This is because periods represent an abstracted definition of a time period (eg. a day may not actually be 24 hours, it might be 23 or 25 at daylight savings boundary).

  To compare the actual duration of two periods, convert both to `Duration`s, an operation that emphasises that the result may differ according to the date you choose.

  Specified by:
    `equals` in interface `ReadablePeriod`
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `period` - a readable period to check against
  Returns:
    true if all the field values are equal, false if not or the period is null or of an incorrect type

### hashCode

    public int hashCode()

  Gets a hash code for the period as defined by ReadablePeriod.

  Specified by:
    `hashCode` in interface `ReadablePeriod`
  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    a hash code

### toString

    public java.lang.String toString()

  Gets the value as a String in the ISO8601 duration format.

  For example, "P6H3M7S" represents 6 hours, 3 minutes, 7 seconds.

  For more control over the output, see `PeriodFormatterBuilder`.

  Specified by:
    `toString` in interface `ReadablePeriod`
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    the value as an ISO8601 string

### toString

    public java.lang.String toString(PeriodFormatter formatter)

  Uses the specified formatter to convert this period to a String.

  Parameters:
    `formatter` - the formatter to use, null means use `toString()`.
  Returns:
    the formatted string
  Since:
    1.5

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD