| java.lang.Object javax.measure.converter.UnitConverter
All known Subclasses: javax.measure.converter.MultiplyConverter, javax.measure.converter.LogConverter, javax.measure.converter.AddConverter, javax.measure.converter.RationalConverter,
UnitConverter | abstract public class UnitConverter implements Serializable(Code) | | This class represents a converter of numeric values.
It is not required for sub-classes to be immutable
(e.g. currency converter).
Sub-classes must ensure unicity of the
UnitConverter.IDENTITY identity
converter. In other words, if the result of an operation is equivalent
to the identity converter, then the unique
UnitConverter.IDENTITY instance
should be returned.
author: Jean-Marie Dautelle version: 3.1, April 22, 2006 |
Constructor Summary | |
protected | UnitConverter() Default constructor. |
Method Summary | |
public UnitConverter | concatenate(UnitConverter converter) Concatenates this converter with another converter. | abstract public double | convert(double x) Converts a double value.
Parameters: x - the numeric value to convert. | public boolean | equals(Object cvtr) Indicates whether this converter is considered the same as the
converter specified. | public int | hashCode() Returns a hash code value for this converter. | abstract public UnitConverter | inverse() Returns the inverse of this converter. | abstract public boolean | isLinear() Indicates if this converter is linear. |
IDENTITY | final public static UnitConverter IDENTITY(Code) | | Holds the identity converter (unique). This converter does nothing
(ONE.convert(x) == x ).
|
UnitConverter | protected UnitConverter()(Code) | | Default constructor.
|
concatenate | public UnitConverter concatenate(UnitConverter converter)(Code) | | Concatenates this converter with another converter. The resulting
converter is equivalent to first converting by the specified converter,
and then converting by this converter.
Note: Implementations must ensure that the
UnitConverter.IDENTITY instance
is returned if the resulting converter is an identity
converter.
Parameters: converter - the other converter. the concatenation of this converter with the other converter. |
convert | abstract public double convert(double x) throws ConversionException(Code) | | Converts a double value.
Parameters: x - the numeric value to convert. the converted numeric value. throws: ConversionException - if an error occurs during conversion. |
equals | public boolean equals(Object cvtr)(Code) | | Indicates whether this converter is considered the same as the
converter specified. To be considered equal this converter
concatenated with the one specified must returns the
UnitConverter.IDENTITY .
Parameters: cvtr - the converter with which to compare. true if the specified object is a converter considered equals to this converter;false otherwise. |
hashCode | public int hashCode()(Code) | | Returns a hash code value for this converter. Equals object have equal
hash codes.
this converter hash code value. See Also: UnitConverter.equals |
inverse | abstract public UnitConverter inverse()(Code) | | Returns the inverse of this converter. If x is a valid
value, then x == inverse().convert(convert(x)) to within
the accuracy of computer arithmetic.
the inverse of this converter. |
isLinear | abstract public boolean isLinear()(Code) | | Indicates if this converter is linear. A converter is linear if
convert(u + v) == convert(u) + convert(v) and
convert(r * u) == r * convert(u) .
For linear converters the following property always hold:[code]
y1 = c1.convert(x1);
y2 = c2.convert(x2);
then y1*y2 = c1.concatenate(c2).convert(x1*x2)[/code]
true if this converter is linear;false otherwise. |
|
|