public abstract class BaseDurationField extends DurationField implements Serializable
This class should generally not be used directly by API users. The DurationField class should be used when different kinds of DurationField objects are to be referenced.
BaseDurationField is thread-safe and immutable, and its subclasses must be as well.
DecoratedDurationField
,
Serialized FormModifier | Constructor and Description |
---|---|
protected |
BaseDurationField(DurationFieldType type) |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(Object durationField)
Compares this duration field with another duration field for ascending
unit millisecond order.
|
int |
getDifference(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(long value)
Get the millisecond duration of this field from its value, which is
approximate if this field is imprecise.
|
String |
getName()
Get the name of the field.
|
DurationFieldType |
getType()
Get the type of the 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.
|
boolean |
isSupported()
Returns true if this field is supported.
|
String |
toString()
Get a suitable debug string.
|
add, add, getDifferenceAsLong, getMillis, getMillis, getUnitMillis, getValueAsLong, isPrecise, subtract, subtract
protected BaseDurationField(DurationFieldType type)
public final DurationFieldType getType()
DurationField
getType
in class DurationField
public final String getName()
DurationField
By convention, names are plural.
getName
in class DurationField
public final boolean isSupported()
DurationField
isSupported
in class DurationField
public int getValue(long duration)
getValue
in class DurationField
duration
- the milliseconds to query, which may be negativepublic long getValueAsLong(long duration)
getValueAsLong
in class DurationField
duration
- the milliseconds to query, which may be negativepublic int getValue(long duration, long instant)
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 DurationField
duration
- the milliseconds to query, which may be negativeinstant
- the start instant to calculate relative topublic long getMillis(int value)
getMillis
in class DurationField
value
- the value of the field, which may be negativepublic long getMillis(long value)
getMillis
in class DurationField
value
- the value of the field, which may be negativepublic 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 DurationField
minuendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract fromsubtrahendInstant
- the milliseconds from 1970-01-01T00:00:00Z to
subtract off the minuendpublic int compareTo(Object durationField)
DurationField
compareTo
in interface Comparable
compareTo
in class DurationField
durationField
- a duration field to check againstpublic String toString()
toString
in class DurationField
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.