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 AbstractDuration

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

All Implemented Interfaces:
  java.lang.Comparable, ReadableDuration

Direct Known Subclasses:
  BaseDuration

    public abstract class AbstractDuration

extends java.lang.Object
implements ReadableDuration

AbstractDuration provides the common behaviour for duration classes.

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

AbstractDuration subclasses may be mutable and not thread-safe.

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

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

Method Summary
`int` | `compareTo(java.lang.Object obj)` Compares this duration with the specified duration based on length.
`boolean` | `equals(java.lang.Object duration)` Compares this object with the specified object for equality based on the millisecond length.
`int` | `hashCode()` Gets a hash code for the duration that is compatible with the equals method.
`boolean` | `isEqual(ReadableDuration duration)` Is the length of this duration equal to the duration passed in.
`boolean` | `isLongerThan(ReadableDuration duration)` Is the length of this duration longer than the duration passed in.
`boolean` | `isShorterThan(ReadableDuration duration)` Is the length of this duration shorter than the duration passed in.
`Duration` | `toDuration()` Get this duration as an immutable `Duration` object.
`Period` | `toPeriod()` Converts this duration to a Period instance using the standard period type and the ISO chronology.
`java.lang.String` | `toString()` Gets the value as a String in the ISO8601 duration format including only seconds and milliseconds.

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

Methods inherited from interface org.joda.time.ReadableDuration
`getMillis`

Constructor Detail

### AbstractDuration

    protected AbstractDuration()

  Constructor.

Method Detail

### toDuration

    public Duration toDuration()

  Get this duration as an immutable `Duration` object.

  Specified by:
    `toDuration` in interface `ReadableDuration`
  Returns:
    a Duration created using the millisecond duration from this instance

### toPeriod

    public Period toPeriod()

  Converts this duration to a Period instance using the standard period type and the ISO chronology.

  Only precise fields in the period type will be used. Thus, only the hour, minute, second and millisecond fields on the period will be used. The year, month, week and day fields will not be populated.

  If the duration is small, less than one day, then this method will perform as you might expect and split the fields evenly. If the duration is larger than one day then all the remaining duration will be stored in the largest available field, hours in this case.

  For example, a duration effectively equal to (365 + 60 + 5) days will be converted to ((365 + 60 + 5) * 24) hours by this constructor.

  For more control over the conversion process, you must pair the duration with an instant, see `Period.Period(ReadableInstant,ReadableDuration)`.

  Specified by:
    `toPeriod` in interface `ReadableDuration`
  Returns:
    a Period created using the millisecond duration from this instance

### compareTo

    public int compareTo(java.lang.Object obj)

  Compares this duration with the specified duration based on length.

  Specified by:
    `compareTo` in interface `java.lang.Comparable`
  Specified by:
    `compareTo` in interface `ReadableDuration`
  Parameters:
    `obj` - a duration to check against
  Returns:
    negative value if this is less, 0 if equal, or positive value if greater
  Throws:
    `java.lang.NullPointerException` - if the object is null
    `java.lang.ClassCastException` - if the given object is not supported

### isEqual

    public boolean isEqual(ReadableDuration duration)

  Is the length of this duration equal to the duration passed in.

  Specified by:
    `isEqual` in interface `ReadableDuration`
  Parameters:
    `duration` - another duration to compare to, null means zero milliseconds
  Returns:
    true if this duration is equal to than the duration passed in

### isLongerThan

    public boolean isLongerThan(ReadableDuration duration)

  Is the length of this duration longer than the duration passed in.

  Specified by:
    `isLongerThan` in interface `ReadableDuration`
  Parameters:
    `duration` - another duration to compare to, null means zero milliseconds
  Returns:
    true if this duration is equal to than the duration passed in

### isShorterThan

    public boolean isShorterThan(ReadableDuration duration)

  Is the length of this duration shorter than the duration passed in.

  Specified by:
    `isShorterThan` in interface `ReadableDuration`
  Parameters:
    `duration` - another duration to compare to, null means zero milliseconds
  Returns:
    true if this duration is equal to than the duration passed in

### equals

    public boolean equals(java.lang.Object duration)

  Compares this object with the specified object for equality based on the millisecond length. All ReadableDuration instances are accepted.

  Specified by:
    `equals` in interface `ReadableDuration`
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `duration` - a readable duration to check against
  Returns:
    true if the length of the duration is equal

### hashCode

    public int hashCode()

  Gets a hash code for the duration that is compatible with the equals method.

  Specified by:
    `hashCode` in interface `ReadableDuration`
  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 including only seconds and milliseconds.

  For example, "PT72.345S" represents 1 minute, 12 seconds and 345 milliseconds.

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

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

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