Package org.djunits.value.vdouble.scalar
Class Time
java.lang.Object
java.lang.Number
org.djunits.value.AbstractScalar<U,S>
org.djunits.value.vdouble.scalar.base.AbstractDoubleScalar<AU,A>
org.djunits.value.vdouble.scalar.base.AbstractDoubleScalarAbs<TimeUnit,Time,DurationUnit,Duration>
org.djunits.value.vdouble.scalar.Time
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparable<Time>
,Absolute
,Scalar<TimeUnit,Time>
,Scalar.Abs<TimeUnit,Time,DurationUnit,Duration>
,ValueFunctions<TimeUnit,Time>
,Value<TimeUnit,Time>
,DoubleScalarInterface<TimeUnit,Time>
,DoubleScalarInterface.Abs<TimeUnit,Time,DurationUnit,Duration>
@Generated(value="org.djunits.generator.GenerateDJUNIT", date="2020-01-19T15:21:24.964166400Z") public class Time extends AbstractDoubleScalarAbs<TimeUnit,Time,DurationUnit,Duration>
Easy access methods for the Absolute Time DoubleScalar.
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands.
All rights reserved.
BSD-style license. See OpenTrafficSim License.
Note that when the offset of a stored absolute Time becomes large, precision of a double might not be enough for the required resolution of a Time. A double has around 16 significant digits (52 bit mantissa). This means that when we need to have a double Time with TimeUnit.BASE as its unit, the largest value where the ms precision is reached is 2^51 = 2.3E15, which is around 71000 years. This is sufficient to store a date in the 21st Century with a BASE or an Epoch offset precise to a microsecond.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.djunits.value.vdouble.scalar.base.DoubleScalarInterface
DoubleScalarInterface.Abs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarInterface.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends DoubleScalarInterface.RelWithAbs<AU,A,RU,R>>, DoubleScalarInterface.Rel<U extends Unit<U>,R extends DoubleScalarInterface.Rel<U,R>>, DoubleScalarInterface.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends DoubleScalarInterface.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends DoubleScalarInterface.RelWithAbs<AU,A,RU,R>>
Nested classes/interfaces inherited from interface org.djunits.value.base.Scalar
Scalar.Abs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends Scalar.RelWithAbs<AU,A,RU,R>>, Scalar.Rel<U extends Unit<U>,R extends Scalar.Rel<U,R>>, Scalar.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar.Abs<AU,A,RU,R>,RU extends Unit<RU>,R extends Scalar.RelWithAbs<AU,A,RU,R>>
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description Time
instantiateAbs(double value, TimeUnit unit)
Construct a new Absolute Immutable DoubleScalar of the right type.Duration
instantiateRel(double value, DurationUnit unit)
Construct a new Relative Immutable DoubleScalar of the right type.static Time
instantiateSI(double value)
Construct Time scalar.static Time
interpolate(Time zero, Time one, double ratio)
Interpolate between two values.static Time
max(Time a1, Time a2)
Return the maximum value of two absolute scalars.static Time
max(Time a1, Time a2, Time... an)
Return the maximum value of more than two absolute scalars.static Time
min(Time a1, Time a2)
Return the minimum value of two absolute scalars.static Time
min(Time a1, Time a2, Time... an)
Return the minimum value of more than two absolute scalars.static Time
of(double value, String unitString)
Returns a Time based on a value and the textual representation of the unit.static Time
valueOf(String text)
Returns a Time representation of a textual representation of a value with a unit.Methods inherited from class org.djunits.value.vdouble.scalar.base.AbstractDoubleScalarAbs
abs, ceil, floor, minus, minus, neg, plus, rint
Methods inherited from class org.djunits.value.vdouble.scalar.base.AbstractDoubleScalar
compareTo, doubleValue, eq, eq0, equals, floatValue, ge, ge0, getInUnit, getInUnit, getSI, gt, gt0, hashCode, intValue, le, le0, longValue, lt, lt0, ne, ne0, toDisplayString, toDisplayString, toString, toString, toString, toString, toTextualString, toTextualString
Methods inherited from class org.djunits.value.AbstractScalar
getDisplayUnit, isAbsolute, isRelative, setDisplayUnit
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djunits.value.vdouble.scalar.base.DoubleScalarInterface
getInUnit, getInUnit, getSI
Methods inherited from interface org.djunits.value.base.Scalar
eq, eq0, ge, ge0, gt, gt0, le, le0, lt, lt0, ne, ne0, toDisplayString, toDisplayString, toTextualString, toTextualString
Methods inherited from interface org.djunits.value.Value
getDisplayUnit, isAbsolute, isRelative, setDisplayUnit, toString, toString, toString, toString
-
Field Details
-
ZERO
Constant with value zero.
-
-
Constructor Details
-
Method Details
-
instantiateAbs
Construct a new Absolute Immutable DoubleScalar of the right type. Each extending class must implement this method.- Parameters:
value
- double; the double valueunit
- AU; the absolute unit- Returns:
- A a new absolute instance of the DoubleScalar of the right type
-
instantiateRel
Construct a new Relative Immutable DoubleScalar of the right type. Each extending class must implement this method.- Parameters:
value
- double; the double valueunit
- RU; the unit- Returns:
- R a new relative instance of the DoubleScalar of the right type
-
instantiateSI
Construct Time scalar.- Parameters:
value
- double; value in SI units- Returns:
- Time; the new scalar with the SI value
-
interpolate
Interpolate between two values.- Parameters:
zero
- Time; the low valueone
- Time; the high valueratio
- double; the ratio between 0 and 1, inclusive- Returns:
- Time; a Scalar at the ratio between
-
max
Return the maximum value of two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalar- Returns:
- Time; the maximum value of two absolute scalars
-
max
Return the maximum value of more than two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalaran
- Time...; the other scalars- Returns:
- the maximum value of more than two absolute scalars
-
min
Return the minimum value of two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalar- Returns:
- the minimum value of two absolute scalars
-
min
Return the minimum value of more than two absolute scalars.- Parameters:
a1
- Time; the first scalara2
- Time; the second scalaran
- Time...; the other scalars- Returns:
- the minimum value of more than two absolute scalars
-
valueOf
Returns a Time representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by the official abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.- Parameters:
text
- String; the textual representation to parse into a Time- Returns:
- Time; the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException
- when the text cannot be parsedNullPointerException
- when the text argument is null
-
of
Returns a Time based on a value and the textual representation of the unit.- Parameters:
value
- double; the value to useunitString
- String; the textual representation of the unit- Returns:
- Time; the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException
- when the unit cannot be parsed or is incorrectNullPointerException
- when the unitString argument is null
-