|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.realtime.HighResolutionTime
javax.realtime.RelativeTime
An object that represents a specific time interval millis/1E3+nanos/1E9 seconds long. It is generally used to represent a time relative to now.
If the value of any millisecond or nanosecond fields is negative the
variable is set to a negative value. Although logically this may represent
a time before the epoch, invalid results may occur if an instance of
AbsoluteTime
representing time before the epoch is given as a parameter to a method. For add
and substract negative values behave just as they do in arithmetic.
Caution: This class is explicitly unsafe in multithreaded situations when it is being changed. No synchronization is done. It is assumed that users of this class who are mutating instances will be doing their own synchronization at a higher level.
Field Summary |
Fields inherited from class javax.realtime.HighResolutionTime |
millis, myClock, nanos |
Constructor Summary | |
RelativeTime()
Equivalent to new RelativeTime(0,0) . |
|
RelativeTime(Clock clock)
Equivalent to new RelativeTime(0,0,clock) . |
|
RelativeTime(long millis,
long nanos)
Construct a RelativeTime object representing an interval based on the parameter
millis plus the parameter nanos. |
|
RelativeTime(long millis,
long nanos,
Clock clock)
Construct a RelativeTime
object representing an interval based on the parameter
millis plus the parameter nanos. |
|
RelativeTime(RelativeTime time)
Make a new RelativeTime object
from the given RelativeTime object. |
|
RelativeTime(RelativeTime time,
Clock clock)
Make a new RelativeTime
object from the given
RelativeTime object. |
Method Summary | |
AbsoluteTime |
absolute(Clock clock)
Convert the time of this to an absolute time, using the given instance of Clock
to determine the current time. |
AbsoluteTime |
absolute(Clock clock,
AbsoluteTime dest)
Convert the time of this to an absolute time, using the given instance of Clock to determine the current time. |
RelativeTime |
add(long millis,
long nanos)
Create a new object representing the result of adding millis and nanos to the values from this and normalizing the result. |
RelativeTime |
add(long millis,
long nanos,
RelativeTime dest)
Return an object containing the value resulting from adding millis and nanos to the values from this and normalizing the result. |
RelativeTime |
add(RelativeTime time)
Create a new instance of RelativeTime
representing the result of adding
time to the value of this and normalizing the result. |
RelativeTime |
add(RelativeTime time,
RelativeTime dest)
Return an object containing the value resulting from adding time to the value of this and normalizing the result. |
java.lang.Object |
clone()
Return a clone of this. |
RelativeTime |
relative(Clock clock)
Return a copy of this. |
RelativeTime |
relative(Clock clock,
RelativeTime dest)
Return a copy of this. |
RelativeTime |
subtract(RelativeTime time)
Create a new instance of RelativeTime
representing the result of subtracting
time from the value of this and normalizing the result. |
RelativeTime |
subtract(RelativeTime time,
RelativeTime dest)
Return an object containing the value resulting from subtracting the value of time from the value of this and normalizing the result. |
java.lang.String |
toString()
Create a printable string of the time given by this. |
Methods inherited from class javax.realtime.HighResolutionTime |
compareTo, compareTo, equals, equals, getClock, getMilliseconds, getNanoseconds, hashCode, normalize, set, set, set, waitForObject |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public RelativeTime()
RelativeTime(0,0)
.The clock association is implicitly made with the real-time clock.
public RelativeTime(Clock clock)
new RelativeTime(0,0,clock)
.
The clock association is made
with the clock parameter. If clock is null
the association is made with the
real-time clock.
clock
- The clock providing the association for the newly constructed object.public RelativeTime(long millis, long nanos)
RelativeTime
object representing an interval based on the parameter
millis plus the parameter nanos. The construction is subject to millis and nanos
parameters normalization. If there is an overflow in the millisecond component
when normalizing then an IllegalArgumentException
will be thrown.The clock association is implicitly made with the real-time clock.
millis
- The desired value for the millisecond component of this. The actual
value is the result of parameter normalization.nanos
- The desired value for the nanosecond component of this. The actual
value is the result of parameter normalization.
java.lang.IllegalArgumentException
- Thrown if there is an overflow in the
millisecond component when normalizing.public RelativeTime(long millis, long nanos, Clock clock)
RelativeTime
object representing an interval based on the parameter
millis plus the parameter nanos. The construction is subject to millis and
nanos parameters normalization. If there is an overflow in the millisecond
component when normalizing then an IllegalArgumentException
will be thrown.
The clock association is made with the clock parameter. If clock is null
the
association is made with the real-time clock.
millis
- The desired value for the millisecond component of this. The
actual value is the result of parameter normalization.nanos
- The desired value for the nanosecond component of this. The
actual value is the result of parameter normalization.clock
- The clock providing the association for the newly constructed object.
java.lang.IllegalArgumentException
- Thrown if there is an overflow
in the millisecond component when normalizing.public RelativeTime(RelativeTime time)
RelativeTime
object
from the given RelativeTime
object.The new object will have the same clock association as the time parameter.
time
- The RelativeTime
object which is the source for the copy.
java.lang.IllegalArgumentException
- Thrown if the time parameter is null
.public RelativeTime(RelativeTime time, Clock clock)
RelativeTime
object from the given
RelativeTime
object.
The clock association is made with the clock parameter. If clock is
null
the association is made with the real-time clock.
time
- The A HREF="RelativeTime.html">
RelativeTime
object which is the source for the copy.clock
- The clock providing the association for the newly constructed object.
java.lang.IllegalArgumentException
- Thrown if the time parameter is null
.Method Detail |
public java.lang.Object clone()
HighResolutionTime
clone
in class HighResolutionTime
public AbsoluteTime absolute(Clock clock)
Clock
to determine the current time. The calculation is the current time
indicated by the given instance of Clock
plus the interval given by this.
If clock is null
the real-time clock is assumed. A destination object is
allocated to return the result. The clock association of the result is with
the clock passed as a parameter.
absolute
in class HighResolutionTime
clock
- The instance of Clock
used to convert the time of this into absolute
time, and the new clock association for the result.
AbsoluteTime
conversion in a newly allocated object, associated
with the clock parameter.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public AbsoluteTime absolute(Clock clock, AbsoluteTime dest)
Clock
plus the interval given by this.
If clock is null
the real-time clock is assumed.
If dest is not null
, the
result is placed there and returned. Otherwise, a new object is allocated
for the result. The clock association of the result is with the clock passed
as a parameter.
absolute
in class HighResolutionTime
clock
- The instance of Clock
used to convert the time of this into
absolute time, and the new clock association for the result.dest
- If dest is not null
, the result is placed there and returned.
Otherwise, a new object is allocated for the result.
AbsoluteTime
conversion in dest if dest is not null
, otherwise
the result is returned in a newly allocated object. It is associated with the
clock parameter.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public RelativeTime add(long millis, long nanos)
ArithmeticException
is thrown if the
result does not fit in the normalized format.
millis
- The number of milliseconds to be added to this.nanos
- The number of nanoseconds to be added to this.
RelativeTime
object whose time is the normalization of
this plus millis and nanos.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public RelativeTime add(long millis, long nanos, RelativeTime dest)
null
, the result is placed there and returned. Otherwise, a new object is
allocated for the result. The result will have the same clock association
as this, and the clock association with dest is ignored.
An ArithmeticException
is thrown if the result does not fit in the normalized format.
millis
- The number of milliseconds to be added to this.nanos
- The number of nanoseconds to be added to this.dest
- If dest is not null
, the result is placed there and returned.
Otherwise, a new object is allocated for the result.
RelativeTime
public RelativeTime add(RelativeTime time)
RelativeTime
representing the result of adding
time to the value of this and normalizing the result. The clock associated
with this and the clock associated with the time parameter are expected to
be the same, and such association is used for the result. An
IllegalArgumentException
is thrown if the clock associated with this and the
clock associated with the time parameter are different. An
IllegalArgumentException
is thrown if the time parameter is
null
. An
ArithmeticException
is thrown if the result does not fit in the normalized
format.
time
- The time to add to this.
RelativeTime
object whose time is the normalization of this
plus the parameter time.
java.lang.IllegalArgumentException
- Thrown if the clock associated
with this and the clock associated with the time parameter are different,
or when the time parameter is null
.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public RelativeTime add(RelativeTime time, RelativeTime dest)
null
, the result
is placed there and returned. Otherwise, a new object is allocated for the
result. The clock associated with this and the clock associated with the
time parameter are expected to be the same, and such association is used for
the result. The clock associated with the dest parameter is ignored. An
IllegalArgumentException
is thrown if the clock associated with this and the
clock associated with the time parameter are different. An
IllegalArgumentException
is thrown if the time parameter is null
. An
ArithmeticException
is thrown if the result does not fit in the normalized format.
time
- The time to add to this.dest
- If dest is not null
, the result is placed there and returned.
Otherwise, a new object is allocated for the result.
RelativeTime
java.lang.IllegalArgumentException
- Thrown if the clock associated
with this and the clock associated with the time parameter are different,
or when the time parameter is null
.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public RelativeTime relative(Clock clock)
HighResolutionTime
base class. No conversion into RelativeTime
is needed in this case. The clock
association of the result is with the clock passed as a parameter. If clock is
null
the association is made with the real-time clock.
clock
- The clock parameter is used only as the new clock association with
the result, since no conversion is needed.
RelativeTime
object, associated
with the clock parameter.public final RelativeTime subtract(RelativeTime time)
RelativeTime
representing the result of subtracting
time from the value of this and normalizing the result. The clock associated
with this and the clock associated with the time parameter are expected to be
the same, and such association is used for the result. An
IllegalArgumentException
is thrown if the clock associated with this and the clock associated with the
time parameter are different. An IllegalArgumentException
is thrown if the time
parameter is null
. An ArithmeticException
is thrown if the result does not fit
in the normalized format.
time
- The time to subtract from this.
RelativeTime
object whose time is the normalization of this minus
the parameter time parameter time.
java.lang.IllegalArgumentException
- Thrown if the clock associated
with this and the clock associated with the time parameter are different,
or when the time parameter is null
.
java.lang.ArithmeticException
- Thrown if the result does not fit in
the normalized format.public final RelativeTime subtract(RelativeTime time, RelativeTime dest)
null
, the result is placed there and returned. Otherwise, a new object is
allocated for the result. The clock associated with this and the clock
associated with the time parameter are expected to be the same, and such
association is used for the result. The clock associated with the dest
parameter is ignored. An IllegalArgumentException
is thrown if the clock
associated with this and the clock associated with the time parameter are
different. An IllegalArgumentException
is thrown if the time parameter is
null
. An ArithmeticException
is thrown if the result does not fit in the
normalized format.
time
- The time to subtract from this.dest
- If dest is not null
, the result is placed there and returned.
Otherwise, a new object is allocated for the result.
if null
.
RelativeTime
parameter time in dest if dest is not null
, otherwise the result is returned
in a newly allocated object.
java.lang.IllegalArgumentException
- Thrown if the if the clock
associated with this and the clock associated with the time parameter
are different, or when the time parameter is null
.
java.lang.ArithmeticException
- Thrown if the result does not fit
in the normalized format.public RelativeTime relative(Clock clock, RelativeTime dest)
null
, the result is placed there and
returned. Otherwise, a new object is allocated for the result. This method is
the implementation of the abstract method of the
RelativeTime
is needed in this case. The clock association of
the result is with the clock passed as a parameter. If clock is
null
the
association is made with the real-time clock.
relative
in class HighResolutionTime
clock
- The clock parameter is used only as the new clock association
with the result, since no conversion is needed.dest
- If dest is not null, the result is placed there and returned.
Otherwise, a new object is allocated for the result.
null
,
otherwise the result is
returned in a newly allocated object. It is associated with the clock parameter.public java.lang.String toString()
The string shall be a decimal representation of the milliseconds and nanosecond values; formatted as follows "(2251 ms, 750000 ns)"
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |