hla.rti
Interface LogicalTime

All Superinterfaces:
java.lang.Comparable, java.io.Serializable
All Known Implementing Classes:
DoubleValuedLogicalTime, LongValuedLogicalTime

public interface LogicalTime
extends java.lang.Comparable, java.io.Serializable

An immutable logical time value.

Author:
DMSO

Method Summary
 LogicalTime add(LogicalTimeInterval val)
          Adds the specified time interval to this logical time, returning the result as a new LogicalTime.
 int compareTo(java.lang.Object other)
          Compares this logical time to another.
 LogicalTimeInterval distance(LogicalTime val)
          Computes and returns the time interval between this logical time and another one.
 void encode(byte[] buffer, int offset)
          Encodes this logical time, placing the result into the specified buffer.
 int encodedLength()
          Returns the encoded length of this logical time.
 boolean equals(java.lang.Object other)
          Checks this logical time for equality with another.
 int hashCode()
          Computes and returns a hash code corresponding to this logical time.
 boolean isFinal()
          Checks whether this represents a final time.
 boolean isInitial()
          Checks whether this represents an initial time.
 LogicalTime subtract(LogicalTimeInterval val)
          Subtracts the specified time interval from this logical time, returning the result as a new LogicalTime.
 java.lang.String toString()
          Returns a string representation of this logical time.
 

Method Detail

isInitial

public boolean isInitial()
Checks whether this represents an initial time.

Returns:
true if this represents an initial time, false otherwise

isFinal

public boolean isFinal()
Checks whether this represents a final time.

Returns:
true if this represents a final time, false otherwise

add

public LogicalTime add(LogicalTimeInterval val)
                throws IllegalTimeArithmetic
Adds the specified time interval to this logical time, returning the result as a new LogicalTime.

Parameters:
val - the time interval to add to this logical time
Returns:
a new LogicalTime that represents this logical time plus the specified time interval
Throws:
IllegalTimeArithmetic - if the operation cannot be performed

subtract

public LogicalTime subtract(LogicalTimeInterval val)
                     throws IllegalTimeArithmetic
Subtracts the specified time interval from this logical time, returning the result as a new LogicalTime.

Parameters:
val - the time interval to subtract from this logical time
Returns:
a new LogicalTime that represents this logical time minus the specified time interval
Throws:
IllegalTimeArithmetic - if the operation cannot be performed

distance

public LogicalTimeInterval distance(LogicalTime val)
Computes and returns the time interval between this logical time and another one.

Parameters:
val - the other logical time
Returns:
the logical time interval between this logical time and the other logical time

compareTo

public int compareTo(java.lang.Object other)
Compares this logical time to another.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
other - the logical time to compare this to
Returns:
+1 if this logical time is greater than the other one, -1 if this logical time is less than the other one, 0 if the two logical times are equal

equals

public boolean equals(java.lang.Object other)
Checks this logical time for equality with another.

Parameters:
other - the other logical time to compare this to
Returns:
true if the other object represents the same logical time as this one, false otherwise

hashCode

public int hashCode()
Computes and returns a hash code corresponding to this logical time.

Returns:
a hash code corresponding to this logical time

toString

public java.lang.String toString()
Returns a string representation of this logical time.

Returns:
a string representation of this logical time

encodedLength

public int encodedLength()
Returns the encoded length of this logical time.

Returns:
the encoded length of this logical time (in bytes)

encode

public void encode(byte[] buffer,
                   int offset)
Encodes this logical time, placing the result into the specified buffer.

Parameters:
buffer - the buffer in which to place the result
offset - the offset within the buffer at which to store the encoded value