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.field
Class PreciseDurationField

    java.lang.Object
      org.joda.time.DurationField
          org.joda.time.field.BaseDurationField
              org.joda.time.field.PreciseDurationField

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable

    public class PreciseDurationField

extends BaseDurationField

Duration field class representing a field with a fixed unit length.

PreciseDurationField is thread-safe and immutable.

Since:
  1.0
Author:
  Stephen Colebourne, Brian S O'Neill
See Also:
  Serialized Form

Constructor Summary
`PreciseDurationField(DurationFieldType type, long unitMillis)` Constructor.

Method Summary
`long` | `add(long instant, int value)` Adds a duration value (which may be negative) to the instant.
`long` | `add(long instant, long value)` Adds a duration value (which may be negative) to the instant.
`boolean` | `equals(java.lang.Object obj)` Compares this duration field to another.
`long` | `getDifferenceAsLong(long minuendInstant, long subtrahendInstant)` Computes the difference between two instants, as measured in the units of this field.
`long` | `getMillis(int value, long instant)` Get the millisecond duration of this field from its value.
`long` | `getMillis(long value, long instant)` Get the millisecond duration of this field from its value.
`long` | `getUnitMillis()` Returns the amount of milliseconds per unit value of this field.
`long` | `getValueAsLong(long duration, long instant)` Get the value of this field from the milliseconds.
`int` | `hashCode()` Gets a hash code for this instance.
`boolean` | `isPrecise()` This field is precise.

Methods inherited from class org.joda.time.field.BaseDurationField
`compareTo, getDifference, getMillis, getMillis, getName, getType, getValue, getValue, getValueAsLong, isSupported, toString`

Methods inherited from class org.joda.time.DurationField
`subtract, subtract`

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

Constructor Detail

### PreciseDurationField

    public PreciseDurationField(DurationFieldType type,
                                long unitMillis)

  Constructor.

  Parameters:
    `type` - the field type
    `unitMillis` - the unit milliseconds

Method Detail

### isPrecise

    public final boolean isPrecise()

  This field is precise.

  Specified by:
    `isPrecise` in class `DurationField`
  Returns:
    true always
  See Also:
    `DurationField.getUnitMillis()`

### getUnitMillis

    public final long getUnitMillis()

  Returns the amount of milliseconds per unit value of this field.

  Specified by:
    `getUnitMillis` in class `DurationField`
  Returns:
    the unit size of this field, in milliseconds
  See Also:
    `DurationField.isPrecise()`

### getValueAsLong

    public long getValueAsLong(long duration,
                               long instant)

  Get the value of this field from the milliseconds.

  Specified by:
    `getValueAsLong` in class `DurationField`
  Parameters:
    `duration` - the milliseconds to query, which may be negative
    `instant` - ignored
  Returns:
    the value of the field, in the units of the field, which may be negative

### getMillis

    public long getMillis(int value,
                          long instant)

  Get the millisecond duration of this field from its value.

  Specified by:
    `getMillis` in class `DurationField`
  Parameters:
    `value` - the value of the field, which may be negative
    `instant` - ignored
  Returns:
    the milliseconds that the field represents, which may be negative

### getMillis

    public long getMillis(long value,
                          long instant)

  Get the millisecond duration of this field from its value.

  Specified by:
    `getMillis` in class `DurationField`
  Parameters:
    `value` - the value of the field, which may be negative
    `instant` - ignored
  Returns:
    the milliseconds that the field represents, which may be negative

### add

    public long add(long instant,
                    int value)

  Description copied from class: `DurationField`
  Adds a duration value (which may be negative) to the instant.

  Specified by:
    `add` in class `DurationField`
  Parameters:
    `instant` - the milliseconds from 1970-01-01T00:00:00Z to add to
    `value` - the value to add, in the units of the field
  Returns:
    the updated milliseconds

### add

    public long add(long instant,
                    long value)

  Description copied from class: `DurationField`
  Adds a duration value (which may be negative) to the instant.

  Specified by:
    `add` in class `DurationField`
  Parameters:
    `instant` - the milliseconds from 1970-01-01T00:00:00Z to add to
    `value` - the value to add, in the units of the field
  Returns:
    the updated milliseconds

### getDifferenceAsLong

    public long getDifferenceAsLong(long minuendInstant,
                                    long subtrahendInstant)

  Description copied from class: `DurationField`
  Computes the difference between two instants, as measured in the units of this field. Any fractional units are dropped from the result. Calling getDifference reverses the effect of calling add. In the following code:

       long instant = ...
       long v = ...
       long age = getDifferenceAsLong(add(instant, v), instant);

  The value 'age' is the same as the value 'v'.

  Specified by:
    `getDifferenceAsLong` in class `DurationField`
  Parameters:
    `minuendInstant` - the milliseconds from 1970-01-01T00:00:00Z to subtract from
    `subtrahendInstant` - the milliseconds from 1970-01-01T00:00:00Z to subtract off the minuend
  Returns:
    the difference in the units of this field

### equals

    public boolean equals(java.lang.Object obj)

  Compares this duration field to another. Two fields are equal if of the same type and duration.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - the object to compare to
  Returns:
    if equal

### hashCode

    public int hashCode()

  Gets a hash code for this instance.

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    a suitable hashcode

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