private final class ImpreciseDateTimeField.LinkedDurationField extends BaseDurationField
| Modifier and Type | Field and Description |
|---|---|
private static long |
serialVersionUID |
| Constructor and Description |
|---|
LinkedDurationField(DurationFieldType type) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
int |
getDifference(long minuendInstant,
long subtrahendInstant)
Computes the difference between two instants, as measured in the units
of this field.
|
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 relative to an
instant.
|
long |
getMillis(long value,
long instant)
Get the millisecond duration of this field from its value relative to an
instant.
|
long |
getUnitMillis()
Returns the amount of milliseconds per unit value of this field.
|
int |
getValue(long duration,
long instant)
Get the value of this field from the milliseconds relative to an
instant.
|
long |
getValueAsLong(long duration,
long instant)
Get the value of this field from the milliseconds relative to an
instant.
|
boolean |
isPrecise()
Is this field precise.
|
compareTo, getMillis, getMillis, getName, getType, getValue, getValueAsLong, isSupported, toStringsubtract, subtractprivate static final long serialVersionUID
LinkedDurationField(DurationFieldType type)
public boolean isPrecise()
DurationFieldisPrecise in class DurationFieldDurationField.getUnitMillis()public long getUnitMillis()
DurationFieldFor imprecise fields, the unit size is variable, and so this method returns a suitable average value.
getUnitMillis in class DurationFieldDurationField.isPrecise()public int getValue(long duration,
long instant)
BaseDurationFieldIf the milliseconds is positive, then the instant is treated as a "start instant". If negative, the instant is treated as an "end instant".
The default implementation returns
Utils.safeToInt(getAsLong(millisDuration, instant)).
getValue in class BaseDurationFieldduration - the milliseconds to query, which may be negativeinstant - the start instant to calculate relative topublic long getValueAsLong(long duration,
long instant)
DurationFieldIf the millisecond duration is positive, then the instant is treated as a "start instant". If negative, the instant is treated as an "end instant".
getValueAsLong in class DurationFieldduration - the milliseconds to query, which may be negativeinstant - the start instant to calculate relative topublic long getMillis(int value,
long instant)
DurationFieldIf the value is positive, then the instant is treated as a "start instant". If negative, the instant is treated as an "end instant".
getMillis in class DurationFieldvalue - the value of the field, which may be negativeinstant - the instant to calculate relative topublic long getMillis(long value,
long instant)
DurationFieldIf the value is positive, then the instant is treated as a "start instant". If negative, the instant is treated as an "end instant".
getMillis in class DurationFieldvalue - the value of the field, which may be negativeinstant - the instant to calculate relative topublic long add(long instant,
int value)
DurationFieldadd in class DurationFieldinstant - the milliseconds from 1970-01-01T00:00:00Z to add tovalue - the value to add, in the units of the fieldpublic long add(long instant,
long value)
DurationFieldadd in class DurationFieldinstant - the milliseconds from 1970-01-01T00:00:00Z to add tovalue - the value to add, in the units of the fieldpublic int getDifference(long minuendInstant,
long subtrahendInstant)
DurationFieldlong instant = ... int v = ... int age = getDifference(add(instant, v), instant);The value 'age' is the same as the value 'v'.
getDifference in class BaseDurationFieldminuendInstant - the milliseconds from 1970-01-01T00:00:00Z to
subtract fromsubtrahendInstant - the milliseconds from 1970-01-01T00:00:00Z to
subtract off the minuendpublic long getDifferenceAsLong(long minuendInstant,
long subtrahendInstant)
DurationFieldlong instant = ... long v = ... long age = getDifferenceAsLong(add(instant, v), instant);The value 'age' is the same as the value 'v'.
getDifferenceAsLong in class DurationFieldminuendInstant - the milliseconds from 1970-01-01T00:00:00Z to
subtract fromsubtrahendInstant - the milliseconds from 1970-01-01T00:00:00Z to
subtract off the minuend