|
OSGi™ Service Platform Release 3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.osgi.util.measurement.Measurement
Represents a value with an error, a unit and a time-stamp.
A Measurement object is used for maintaining the tuple of value, error, unit and time-stamp. The value and error are represented as doubles and the time is measured in milliseconds since midnight, January 1, 1970 UTC.
Mathematic methods are provided that correctly calculate
taking the error into account. A runtime error
will occur when two measurements are
used in an incompatible way. E.g., when a speed
(m/s) is added to a distance (m). The measurement
class will correctly track changes in unit during
multiplication and division, always coercing the
result to the most simple form.
See Unit
for more information on the
supported units.
Errors in the measurement class are absolute errors. Measurement errors should use the P95 rule. Actual values must fall in the range value +/- error 95% or more of the time.
A Measurement object is immutable in order to be easily shared.
Note: This class has a natural ordering that is
inconsistent with equals. See compareTo(java.lang.Object)
.
Constructor Summary | |
Measurement(double value)
Create a new Measurement object with an error of 0.0, a unit of Unit.unity and a time of zero. |
|
Measurement(double value,
double error,
Unit unit)
Create a new Measurement object with a time of zero. |
|
Measurement(double value,
double error,
Unit unit,
long time)
Create a new Measurement object. |
|
Measurement(double value,
Unit unit)
Create a new Measurement object with an error of 0.0 and a time of zero. |
Method Summary | |
Measurement |
add(double d)
Returns a new Measurement object that is the sum of this object added to the specified value. |
Measurement |
add(double d,
Unit u)
Returns a new Measurement object that is the sum of this object added to the specified value. |
Measurement |
add(Measurement m)
Returns a new Measurement object that is the sum of this object added to the specified object. |
int |
compareTo(java.lang.Object obj)
Compares this object with the specified object for order. |
Measurement |
div(double d)
Returns a new Measurement object that is the quotient of this object divided by the specified value. |
Measurement |
div(double d,
Unit u)
Returns a new Measurement object that is the quotient of this object divided by the specified value. |
Measurement |
div(Measurement m)
Returns a new Measurement object that is the quotient of this object divided by the specified object. |
boolean |
equals(java.lang.Object obj)
Returns whether the specified object is equal to this object. |
double |
getError()
Returns the error of this Measurement object. |
long |
getTime()
Returns the time at which this Measurement object was taken. |
Unit |
getUnit()
Returns the Unit object of this Measurement object. |
double |
getValue()
Returns the value of this Measurement object. |
int |
hashCode()
Returns a hash code value for this object. |
Measurement |
mul(double d)
Returns a new Measurement object that is the product of this object multiplied by the specified value. |
Measurement |
mul(double d,
Unit u)
Returns a new Measurement object that is the product of this object multiplied by the specified value. |
Measurement |
mul(Measurement m)
Returns a new Measurement object that is the product of this object multiplied by the specified object. |
Measurement |
sub(double d)
Returns a new Measurement object that is the subtraction of the specified value from this object. |
Measurement |
sub(double d,
Unit u)
Returns a new Measurement object that is the subtraction of the specified value from this object. |
Measurement |
sub(Measurement m)
Returns a new Measurement object that is the subtraction of the specified object from this object. |
java.lang.String |
toString()
Returns a String object representing this Measurement object. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Measurement(double value, double error, Unit unit, long time)
value
- The value of the Measurement.error
- The error of the Measurement.unit
- The Unit object in which the value is measured.
If this argument is null, then the unit will be set to Unit.unity
.time
- The time measured in milliseconds since midnight, January 1, 1970 UTC.public Measurement(double value, double error, Unit unit)
value
- The value of the Measurement.error
- The error of the Measurement.unit
- The Unit object in which the value is measured.
If this argument is null, then the unit will be set to Unit.unity
.public Measurement(double value, Unit unit)
value
- The value of the Measurement.unit
- The Unit in which the value is measured.
If this argument is null, then the unit will be set to Unit.unity
.public Measurement(double value)
Unit.unity
and a time of zero.
value
- The value of the Measurement.Method Detail |
public final double getValue()
public final double getError()
public final Unit getUnit()
Unit
public final long getTime()
public Measurement mul(Measurement m)
m
- The Measurement object that will be multiplied with
this object.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be multiplied.Unit
public Measurement mul(double d, Unit u)
d
- The value that will be multiplied with
this object.u
- The Unit of the specified value.
java.lang.ArithmeticException
- If the units
of this object and the specified value cannot be multiplied.Unit
public Measurement mul(double d)
d
- The value that will be multiplied with
this object.
public Measurement div(Measurement m)
m
- The Measurement object that will be the divisor of
this object.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be divided.Unit
public Measurement div(double d, Unit u)
d
- The value that will be the divisor of
this object.u
- The Unit object of the specified value.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be divided.Unit
public Measurement div(double d)
d
- The value that will be the divisor of
this object.
public Measurement add(Measurement m)
m
- The Measurement object that will be added with
this object.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be added.Unit
public Measurement add(double d, Unit u)
d
- The value that will be added with
this object.u
- The Unit object of the specified value.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified value cannot be added.Unit
public Measurement add(double d)
d
- The value that will be added with
this object.
public Measurement sub(Measurement m)
m
- The Measurement object that will be subtracted from
this object.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be subtracted.Unit
public Measurement sub(double d, Unit u)
d
- The value that will be subtracted from
this object.u
- The Unit object of the specified value.
java.lang.ArithmeticException
- If the Unit objects
of this object and the specified object cannot be subtracted.Unit
public Measurement sub(double d)
d
- The value that will be subtracted from
this object.
public java.lang.String toString()
public int compareTo(java.lang.Object obj)
Note: This class has a natural ordering that is inconsistent with equals. For this method, another Measurement object is considered equal if there is some x such that
getValue()-getError() <= x <= getValue()+getError()for both Measurement objects being compared.
compareTo
in interface java.lang.Comparable
obj
- The object to be compared.
java.lang.ClassCastException
- If the specified object is not of type Measurement.
java.lang.ArithmeticException
- If the unit of the specified Measurement object is
not equal to the Unit object of this object.public int hashCode()
public boolean equals(java.lang.Object obj)
Note: This class has a natural ordering that is
inconsistent with equals. See compareTo(java.lang.Object)
.
obj
- The object to compare with this object.
|
OSGi™ Service Platform Release 3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |