Package org.djunits.quantity.def
Class AbsBasic<A extends AbsBasic<A,Q,R>,Q extends Quantity<Q>,R extends Reference<R,A,Q>>
java.lang.Object
org.djunits.quantity.def.AbsBasic<A,Q,R>
- Type Parameters:
A- the absolute quantity typeQ- the relative quantity typeR- the reference type to use for the absolute quantity
- All Implemented Interfaces:
Serializable,Value<A,Q>
- Direct Known Subclasses:
AbsQuantity,Direction
public abstract class AbsBasic<A extends AbsBasic<A,Q,R>,Q extends Quantity<Q>,R extends Reference<R,A,Q>>
extends Object
implements Value<A,Q>
AbsBasic stores the basic information about a absolute quantity and implements the basic operations that hold for all
absolute quantities. An absolute quantity wraps a relative Quantity and has a reference point that acts as an origin or zero
point. Note that the absolute quantity
Direction directly extends AbsBasic because of its circular scale. The
other absolute quantities Position, Temperature and Time extends AbsQuantity that extends
this class and implements comparators as well.
Copyright (c) 2025-2026 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djunits.org. The DJUNITS project is distributed under a three-clause BSD-style license.
- Author:
- Alexander Verbraeck
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract AAdd a relative quantity to this absolute quantity, resulting in a new absolute quantity containing the sum.booleanformat()Concise description of this quantity.format(QuantityFormat format) String representation of this quantity after applying the format.String representation of this quantity, expressed in the specified unit.Retrieve the unit of this Value.final doubleRetrieve the relative quantity value in the current display unit.final doubleRetrieve the relative quantity value converted into some specified unit.getName()Return the "pretty" and localized name of the quantity.Return the (relative) quantity relative to the reference.Return the reference point (zero or origin).inthashCode()abstract Ainstantiate(Q quantity, R reference) Instantiate an absolute quantity with a quantity and a reference.booleanIndicate whether this is a Relative Value.Returns an absolute quantity based on a value and the textual representation of the unit, which can be localized.relativeTo(R otherReference) Return the quantity relative to another reference point.setDisplayUnit(Unit<?, Q> newUnit) Set a new display unit for the value.doublesi()Return the SI value of the quantity.siUnit()Return the SI unit of this quantity.abstract QSubtract two absolute quantities from each other, resulting in the corresponding relative quantity.abstract ASubtract a relative quantity from this absolute quantity, resulting in a new absolute quantity containing the difference.toString()Description of this quantity with default formatting.Returns an absolute quantity for the textual representation of a value with a unit.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.djunits.value.Value
isAbsolute, setDisplayUnit
-
Constructor Details
-
AbsBasic
Instantiate an absolute quantity with a quantity and a reference.- Parameters:
quantity- the relative quantity that indicates the 'distance' to the reference pointreference- the reference point
-
-
Method Details
-
getDisplayUnit
Description copied from interface:ValueRetrieve the unit of this Value. -
setDisplayUnit
Description copied from interface:ValueSet a new display unit for the value. Internally, the value will not changed since it is stored in a base unit. -
getInUnit
public final double getInUnit()Retrieve the relative quantity value in the current display unit.- Returns:
- the relative quantity value in the current display unit
-
getInUnit
Retrieve the relative quantity value converted into some specified unit.- Parameters:
targetUnit- the unit to convert the relative quantity value into- Returns:
- the value of the relative quantity in the target unit
-
getQuantity
Return the (relative) quantity relative to the reference.- Returns:
- the (relative) quantity relative to the reference
-
getReference
Return the reference point (zero or origin).- Returns:
- the reference point
-
getName
Return the "pretty" and localized name of the quantity.- Returns:
- the "pretty" and localized name of the quantity
-
siUnit
Return the SI unit of this quantity.- Returns:
- the SI unit of this quantity
-
si
public double si()Return the SI value of the quantity.- Returns:
- the SI value of the quantity
-
instantiate
Instantiate an absolute quantity with a quantity and a reference.- Parameters:
quantity- the relative quantity that indicates the 'distance' to the reference pointreference- the reference point- Returns:
- the absolute quantity with a quantity and a reference
-
hashCode
public int hashCode() -
equals
-
valueOf
public static <A extends AbsBasic<A,Q, A valueOfR>, Q extends Quantity<Q>, R extends Reference<R, A, Q>> (String text, A example, R reference) Returns an absolute quantity for the textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.- Type Parameters:
A- the absolute quantity typeQ- the relative quantity typeR- the reference type to use for the absolute quantity- Parameters:
text- the textual representation to parse into the quantityexample- an example instance to deliverreference- the reference point- Returns:
- the absolute quantity representation of the value with its unit
- Throws:
IllegalArgumentException- when the text cannot be parsedNullPointerException- when the text argument is null
-
of
public static <A extends AbsBasic<A,Q, A ofR>, Q extends Quantity<Q>, R extends Reference<R, A, Q>> (double valueInUnit, String unitString, A example, R reference) Returns an absolute quantity based on a value and the textual representation of the unit, which can be localized.- Type Parameters:
A- the absolute quantity typeQ- the relative quantity typeR- the reference type to use for the absolute quantity- Parameters:
valueInUnit- the value, expressed in the unit as given by unitStringunitString- the textual representation of the unitexample- an absolute example instance to deliverreference- the reference point- Returns:
- the absolute quantity representation of the value in its unit
- Throws:
IllegalArgumentException- when the unit cannot be parsed or is incorrectNullPointerException- when the unitString argument is null
-
relativeTo
Return the quantity relative to another reference point.- Parameters:
otherReference- the reference point to which it has to be defined relatively.- Returns:
- the absolute quantity relative to the other reference point
- Throws:
IllegalArgumentException- when there is no translation from the current reference point to the provided reference
-
toString
Description of this quantity with default formatting. -
format
Concise description of this quantity. -
format
String representation of this quantity after applying the format.- Parameters:
format- the format to apply for the quantity- Returns:
- a String representation of this quantity, formatted according to the given format
-
format
String representation of this quantity, expressed in the specified unit. -
subtract
Subtract two absolute quantities from each other, resulting in the corresponding relative quantity. The unit of the resulting quantity will be the unit of 'this' absolute quantity. Quantity 'other' will be transformed to the reference point of this absolute quantity. If the reference points of this and other are different, and no transformations between the reference points exist, an exception will be thrown.- Parameters:
other- the absolute quantity to subtract- Returns:
- the relative quantity as a result of the subtraction
- Throws:
IllegalArgumentException- when the reference points are unequal and cannot be transformed to each other
-
add
Add a relative quantity to this absolute quantity, resulting in a new absolute quantity containing the sum. The new quantity will have the same reference point and unit as this absolute quantity.- Parameters:
other- the relative quantity to add- Returns:
- the absolute quantity as a result of the addition
-
subtract
Subtract a relative quantity from this absolute quantity, resulting in a new absolute quantity containing the difference. The new quantity will have the same reference point and unit as this absolute quantity.- Parameters:
other- the relative quantity to subtract- Returns:
- the absolute quantity as a result of the subtraction
-
isRelative
public boolean isRelative()Description copied from interface:ValueIndicate whether this is a Relative Value.
-