public class ScaledDurationField extends DecoratedDurationField
ScaledDurationField is thread-safe and immutable.
PreciseDurationField,
Serialized Form| Constructor and Description |
|---|
ScaledDurationField(DurationField field,
DurationFieldType type,
int scalar)
Constructor
|
| 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.
|
boolean |
equals(java.lang.Object obj)
Compares this duration field to another.
|
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)
Get the millisecond duration of this field from its value, which is
approximate if this field is imprecise.
|
long |
getMillis(int value,
long instant)
Get the millisecond duration of this field from its value relative to an
instant.
|
long |
getMillis(long value)
Get the millisecond duration of this field from its value, which is
approximate if this field is imprecise.
|
long |
getMillis(long value,
long instant)
Get the millisecond duration of this field from its value relative to an
instant.
|
int |
getScalar()
Returns the scalar applied, in the field's units.
|
long |
getUnitMillis()
Returns the amount of milliseconds per unit value of this field.
|
int |
getValue(long duration)
Get the value of this field from the milliseconds, which is approximate
if this field is imprecise.
|
int |
getValue(long duration,
long instant)
Get the value of this field from the milliseconds relative to an
instant.
|
long |
getValueAsLong(long duration)
Get the value of this field from the milliseconds, which is approximate
if this field is imprecise.
|
long |
getValueAsLong(long duration,
long instant)
Get the value of this field from the milliseconds relative to an
instant.
|
int |
hashCode()
Gets a hash code for this instance.
|
getWrappedField, isPrecisecompareTo, getName, getType, isSupported, toStringsubtract, subtractpublic ScaledDurationField(DurationField field, DurationFieldType type, int scalar)
field - the field to wrap, like "year()".type - the type this field will actually usescalar - scalar, such as 100 years in a centuryjava.lang.IllegalArgumentException - if scalar is zero or one.public int getValue(long duration)
BaseDurationFieldgetValue in class BaseDurationFieldduration - the milliseconds to query, which may be negativepublic long getValueAsLong(long duration)
BaseDurationFieldgetValueAsLong in class BaseDurationFieldduration - the milliseconds to query, which may be negativepublic 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 DecoratedDurationFieldduration - the milliseconds to query, which may be negativeinstant - the start instant to calculate relative topublic long getMillis(int value)
BaseDurationFieldgetMillis in class BaseDurationFieldvalue - the value of the field, which may be negativepublic long getMillis(long value)
BaseDurationFieldgetMillis in class BaseDurationFieldvalue - the value of the field, which may be negativepublic 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 DecoratedDurationFieldvalue - 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 DecoratedDurationFieldvalue - the value of the field, which may be negativeinstant - the instant to calculate relative topublic long add(long instant,
int value)
DurationFieldadd in class DecoratedDurationFieldinstant - 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 DecoratedDurationFieldinstant - 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 DecoratedDurationFieldminuendInstant - 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 getUnitMillis()
DurationFieldFor imprecise fields, the unit size is variable, and so this method returns a suitable average value.
getUnitMillis in class DecoratedDurationFieldDurationField.isPrecise()public int getScalar()
public boolean equals(java.lang.Object obj)
equals in class java.lang.Objectobj - the object to compare topublic int hashCode()
hashCode in class java.lang.ObjectCopyright © 2010 - 2023 Adobe. All Rights Reserved