Class AbstractConverter
java.lang.Object
tech.units.indriya.AbstractConverter
- All Implemented Interfaces:
Serializable, Comparable<javax.measure.UnitConverter>, javax.measure.UnitConverter
- Direct Known Subclasses:
AbstractConverter.Pair, AddConverter, ExpConverter, LogConverter, MultiplyConverter, PowersOfIntConverter, PowersOfPiConverter, RationalConverter
public abstract class AbstractConverter
extends Object
implements javax.measure.UnitConverter, Serializable, Comparable<javax.measure.UnitConverter>
The base class for our UnitConverter implementations.
- Since:
- 1.0
- Version:
- 1.6, April 26, 2018
- Author:
- Jean-Marie Dautelle, Werner Keil, Andi Huber
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classThis class represents converters made up of two or more separate converters (in matrix notation[pair] = [left] x [right]). -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<? extends javax.measure.UnitConverter> memoization for getConversionStepsstatic final AbstractConverterHolds identity converter. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal javax.measure.UnitConverterconcatenate(javax.measure.UnitConverter converter) final doubleconvert(double value) final Numberprotected abstract doubleconvertWhenNotIdentity(double value) Non-APIprotected abstract BigDecimalconvertWhenNotIdentity(BigDecimal value, MathContext ctx) Non-APIprotected NumberconvertWhenNotIdentity(BigInteger value, MathContext ctx) Non-APIabstract booleanfinal List<? extends javax.measure.UnitConverter> abstract inthashCode()final AbstractConverterinverse()protected abstract AbstractConverterNon-APIprotected abstract booleanNon-API Guard forsimpleCompose(AbstractConverter)static javax.measure.UnitConverterCreates a converter with the specified Prefix.protected AbstractConverterNon-API Guarded byisSimpleCompositionWith(AbstractConverter)final StringtoString()protected abstract StringNon-APIMethods inherited from interface Comparable
compareToMethods inherited from interface javax.measure.UnitConverter
isIdentity, isLinear
-
Field Details
-
IDENTITY
Holds identity converter. -
conversionSteps
memoization for getConversionSteps
-
-
Constructor Details
-
AbstractConverter
protected AbstractConverter()DefaultQuantityFactory constructor.
-
-
Method Details
-
of
-
equals
-
hashCode
-
transformationLiteral
Non-APIReturns a String describing the transformation that is represented by this converter. Contributes to converter's
toStringmethod. If null or emptytoStringoutput becomes simplified.- Returns:
-
toString
-
inverseWhenNotIdentity
Non-APIReturns an AbstractConverter that represents the inverse transformation of this converter, for cases where the transformation is not the identity transformation.
- Returns:
-
inverse
- Specified by:
inversein interfacejavax.measure.UnitConverter
-
isSimpleCompositionWith
Non-API Guard forsimpleCompose(AbstractConverter)- Parameters:
that-- Returns:
- whether or not a 'simple' composition of transformations is possible
-
simpleCompose
Non-API Guarded byisSimpleCompositionWith(AbstractConverter)- Parameters:
that-- Returns:
- a new AbstractConverter that adds no additional conversion step
-
concatenate
- Specified by:
concatenatein interfacejavax.measure.UnitConverter
-
getConversionSteps
- Specified by:
getConversionStepsin interfacejavax.measure.UnitConverter
-
convertWhenNotIdentity
Non-API- Parameters:
value-- Returns:
- transformed value
-
convertWhenNotIdentity
Non-API- Parameters:
value-ctx-- Returns:
- transformed value (most likely a BigInteger or BigDecimal)
-
convertWhenNotIdentity
Non-API- Parameters:
value-ctx-- Returns:
- transformed value
-
convert
- Specified by:
convertin interfacejavax.measure.UnitConverter
-
convert
- Specified by:
convertin interfacejavax.measure.UnitConverter- Throws:
IllegalArgumentException- if the value is null.
-