|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.joda.time.DurationField org.joda.time.field.BaseDurationField org.joda.time.field.DecoratedDurationField org.joda.time.field.ScaledDurationField
public class ScaledDurationField
Scales a DurationField such that it's unit millis becomes larger in magnitude.
ScaledDurationField is thread-safe and immutable.
PreciseDurationField
,
Serialized FormConstructor Summary | |
---|---|
ScaledDurationField(DurationField field,
DurationFieldType type,
int scalar)
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(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. |
Methods inherited from class org.joda.time.field.DecoratedDurationField |
---|
getWrappedField, isPrecise |
Methods inherited from class org.joda.time.field.BaseDurationField |
---|
compareTo, getName, getType, 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 |
---|
public 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 century
IllegalArgumentException
- if scalar is zero or one.Method Detail |
---|
public int getValue(long duration)
BaseDurationField
getValue
in class BaseDurationField
duration
- the milliseconds to query, which may be negative
public long getValueAsLong(long duration)
BaseDurationField
getValueAsLong
in class BaseDurationField
duration
- the milliseconds to query, which may be negative
public int getValue(long duration, long instant)
BaseDurationField
If 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 BaseDurationField
duration
- the milliseconds to query, which may be negativeinstant
- the start instant to calculate relative to
public long getValueAsLong(long duration, long instant)
DurationField
If 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 DecoratedDurationField
duration
- the milliseconds to query, which may be negativeinstant
- the start instant to calculate relative to
public long getMillis(int value)
BaseDurationField
getMillis
in class BaseDurationField
value
- the value of the field, which may be negative
public long getMillis(long value)
BaseDurationField
getMillis
in class BaseDurationField
value
- the value of the field, which may be negative
public long getMillis(int value, long instant)
DurationField
If 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 DecoratedDurationField
value
- the value of the field, which may be negativeinstant
- the instant to calculate relative to
public long getMillis(long value, long instant)
DurationField
If 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 DecoratedDurationField
value
- the value of the field, which may be negativeinstant
- the instant to calculate relative to
public long add(long instant, int value)
DurationField
add
in class DecoratedDurationField
instant
- the milliseconds from 1970-01-01T00:00:00Z to add tovalue
- the value to add, in the units of the field
public long add(long instant, long value)
DurationField
add
in class DecoratedDurationField
instant
- the milliseconds from 1970-01-01T00:00:00Z to add tovalue
- the value to add, in the units of the field
public int getDifference(long minuendInstant, long subtrahendInstant)
DurationField
long instant = ... int v = ... int age = getDifference(add(instant, v), instant);The value 'age' is the same as the value 'v'.
getDifference
in class BaseDurationField
minuendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract fromsubtrahendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract off the minuend
public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant)
DurationField
long instant = ... long v = ... long age = getDifferenceAsLong(add(instant, v), instant);The value 'age' is the same as the value 'v'.
getDifferenceAsLong
in class DecoratedDurationField
minuendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract fromsubtrahendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract off the minuend
public long getUnitMillis()
DurationField
For imprecise fields, the unit size is variable, and so this method returns a suitable average value.
getUnitMillis
in class DecoratedDurationField
DurationField.isPrecise()
public int getScalar()
public boolean equals(Object obj)
equals
in class Object
obj
- the object to compare to
public int hashCode()
hashCode
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |