| 
OSGi™ Service Platform Compendium Specification Release 4 Version 4.3  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.osgi.util.measurement.Measurement
public class 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(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)
Measurement object.
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)
Measurement object with a time of zero.
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)
Measurement object with an error of 0.0 and a
 time of zero.
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)
Measurement object with an error of 0.0, a unit
 of Unit.unity and a time of zero.
value - The value of the Measurement.| Method Detail | 
|---|
public final double getValue()
Measurement object.
Measurement object as a double.public final double getError()
Measurement object. The error is
 always a positive value.
Measurement as a double.public final Unit getUnit()
Unit object of this Measurement object.
Unit object of this Measurement object.Unitpublic final long getTime()
Measurement object was taken.
 The time is measured in milliseconds since midnight, January 1, 1970 UTC,
 or zero when not defined.
Measurement object was taken or
         zero.public Measurement mul(Measurement m)
Measurement object that is the product of this
 object multiplied by the specified object.
m - The Measurement object that will be multiplied with
        this object.
Measurement that is the product of this object
         multiplied by the specified object. The error and unit of the new
         object are computed. The time of the new object is set to the
         time of 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)
Measurement object that is the product of this
 object multiplied by the specified value.
d - The value that will be multiplied with this object.u - The Unit of the specified value.
Measurement object that is the product of this
         object multiplied by the specified value. The error and unit of
         the new object are computed. The time of the new object is set to
         the time of this object.
java.lang.ArithmeticException - If the units of this object and the specified
         value cannot be multiplied.Unitpublic Measurement mul(double d)
Measurement object that is the product of this
 object multiplied by the specified value.
d - The value that will be multiplied with this object.
Measurement object that is the product of this
         object multiplied by the specified value. The error of the new
         object is computed. The unit and time of the new object is set to
         the unit and time of this object.public Measurement div(Measurement m)
Measurement object that is the quotient of this
 object divided by the specified object.
m - The Measurement object that will be the divisor of
        this object.
Measurement object that is the quotient of this
         object divided by the specified object. The error and unit of the
         new object are computed. The time of the new object is set to the
         time 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)
Measurement object that is the quotient of this
 object divided by the specified value.
d - The value that will be the divisor of this object.u - The Unit object of the specified value.
Measurement that is the quotient of this object
         divided by the specified value. The error and unit of the new
         object are computed. The time of the new object is set to the
         time of this object.
java.lang.ArithmeticException - If the Unit objects of this object
         and the specified object cannot be divided.Unitpublic Measurement div(double d)
Measurement object that is the quotient of this
 object divided by the specified value.
d - The value that will be the divisor of this object.
Measurement object that is the quotient of this
         object divided by the specified value. The error of the new
         object is computed. The unit and time of the new object is set to
         the Unit and time of this object.public Measurement add(Measurement m)
Measurement object that is the sum of this
 object added to the specified object.
 
 The error and unit of the new object are computed. The time of the new
 object is set to the time of this object.
m - The Measurement object that will be added with this
        object.
Measurement object that is the sum of this and
         m.
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)
Measurement object that is the sum of this
 object added to the specified value.
d - The value that will be added with this object.u - The Unit object of the specified value.
Measurement object that is the sum of this
         object added to the specified value. The unit of the new object
         is computed. The error and time of the new object is set to the
         error and time of this object.
java.lang.ArithmeticException - If the Unit objects of this object
         and the specified value cannot be added.Unitpublic Measurement add(double d)
Measurement object that is the sum of this
 object added to the specified value.
d - The value that will be added with this object.
Measurement object that is the sum of this
         object added to the specified value. The error, unit, and time of
         the new object is set to the error, Unit and time of
         this object.public Measurement sub(Measurement m)
Measurement object that is the subtraction of
 the specified object from this object.
m - The Measurement object that will be subtracted from
        this object.
Measurement object that is the subtraction of
         the specified object from this object. The error and unit of the
         new object are computed. The time of the new object is set to the
         time of 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)
Measurement object that is the subtraction of
 the specified value from this object.
d - The value that will be subtracted from this object.u - The Unit object of the specified value.
Measurement object that is the subtraction of
         the specified value from this object. The unit of the new object
         is computed. The error and time of the new object is set to the
         error and time of this object.
java.lang.ArithmeticException - If the Unit objects of this object
         and the specified object cannot be subtracted.Unitpublic Measurement sub(double d)
Measurement object that is the subtraction of
 the specified value from this object.
d - The value that will be subtracted from this object.
Measurement object that is the subtraction of
         the specified value from this object. The error, unit and time of
         the new object is set to the error, Unit object and
         time of this object.public java.lang.String toString()
String object representing this Measurement
 object.
toString in class java.lang.ObjectString object representing this Measurement
         object.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.Comparableobj - 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()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
Measurement objects are equal if they have same value, error and
 Unit.
 
 
 Note: This class has a natural ordering that is inconsistent with equals.
 See compareTo(Object).
equals in class java.lang.Objectobj - The object to compare with this object.
true if this object is equal to the specified object;
         false otherwise.
  | 
OSGi™ Service Platform Compendium Specification Release 4 Version 4.3  | 
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||