Package org.apache.sis.measure
Class DerivedScalar.Fallback<Q extends javax.measure.Quantity<Q>>
java.lang.Object
java.lang.Number
org.apache.sis.measure.Scalar<Q>
org.apache.sis.measure.DerivedScalar<Q>
org.apache.sis.measure.DerivedScalar.Fallback<Q>
- Type Parameters:
Q
- the type of quantity implemented by this scalar.
- All Implemented Interfaces:
Serializable
,Comparable<Q>
,InvocationHandler
,javax.measure.Quantity<Q>
- Enclosing class:
DerivedScalar<Q extends javax.measure.Quantity<Q>>
static final class DerivedScalar.Fallback<Q extends javax.measure.Quantity<Q>>
extends DerivedScalar<Q>
implements InvocationHandler
Fallback used when no
DerivedScalar
implementation is available for a given quantity type.
This is basically a copy of ScalarFallback
implementation adapted to DerivedScalar
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sis.measure.DerivedScalar
DerivedScalar.Fallback<Q extends javax.measure.Quantity<Q>>, DerivedScalar.TemperatureMeasurement
Nested classes/interfaces inherited from class org.apache.sis.measure.Scalar
Scalar.Acceleration, Scalar.Angle, Scalar.Area, Scalar.Dimensionless, Scalar.Energy, Scalar.Force, Scalar.Frequency, Scalar.Length, Scalar.Mass, Scalar.Power, Scalar.Pressure, Scalar.Speed, Scalar.Temperature, Scalar.Time, Scalar.Volume
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
Fallback
(double value, javax.measure.Unit<Q> unit, javax.measure.Unit<Q> systemUnit, javax.measure.UnitConverter toSystem, Class<Q> type) Constructor forQuantities
factory only.private
Fallback
(DerivedScalar.Fallback<Q> origin, double value) Constructor forcreate(…)
implementation only. -
Method Summary
Modifier and TypeMethodDescription(package private) javax.measure.Quantity
<Q> Creates a new quantity of the same type than this quantity but a different value and/or unit.(package private) static <Q extends javax.measure.Quantity<Q>>
Qfactory
(double value, javax.measure.Unit<Q> unit, javax.measure.Unit<Q> systemUnit, javax.measure.UnitConverter toSystem, Class<Q> type) Creates a newDerivedScalar.Fallback
instance implementing the given quantity type.Invoked when a method of theQuantity
interface is invoked.Methods inherited from class org.apache.sis.measure.DerivedScalar
doubleValue, floatValue, getSystemUnit, getUnit, longValue, to
-
Field Details
-
type
The type implemented by proxy instances.- See Also:
-
-
Constructor Details
-
Fallback
private Fallback(double value, javax.measure.Unit<Q> unit, javax.measure.Unit<Q> systemUnit, javax.measure.UnitConverter toSystem, Class<Q> type) Constructor forQuantities
factory only. -
Fallback
Constructor forcreate(…)
implementation only.
-
-
Method Details
-
create
Creates a new quantity of the same type than this quantity but a different value and/or unit.- Overrides:
create
in classDerivedScalar<Q extends javax.measure.Quantity<Q>>
- See Also:
-
factory
static <Q extends javax.measure.Quantity<Q>> Q factory(double value, javax.measure.Unit<Q> unit, javax.measure.Unit<Q> systemUnit, javax.measure.UnitConverter toSystem, Class<Q> type) Creates a newDerivedScalar.Fallback
instance implementing the given quantity type.- See Also:
-
invoke
public Object invoke(Object proxy, Method method, Object[] args) throws ReflectiveOperationException Invoked when a method of theQuantity
interface is invoked.- Specified by:
invoke
in interfaceInvocationHandler
- Throws:
ReflectiveOperationException
- See Also:
-