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
Fields Modifier and Type Field Description static Time
ZERO
Constant with value zero.-
Fields inherited from class org.djunits.value.vdouble.scalar.base.AbstractDoubleScalar
si
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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.Number
byteValue, shortValue
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Comparable
compareTo
-
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 Detail
-
ZERO
public static final Time ZERO
Constant with value zero.
-
-
Method Detail
-
instantiateAbs
public final Time instantiateAbs(double value, TimeUnit unit)
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
public final Duration instantiateRel(double value, DurationUnit unit)
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
public static final Time instantiateSI(double value)
Construct Time scalar.- Parameters:
value
- double; value in SI units- Returns:
- Time; the new scalar with the SI value
-
interpolate
public static Time interpolate(Time zero, Time one, double ratio)
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
public static Time max(Time a1, Time a2)
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
public static Time max(Time a1, Time a2, Time... an)
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
public static Time min(Time a1, Time a2)
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
public static Time min(Time a1, Time a2, Time... an)
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
public static Time valueOf(String text)
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
public static Time of(double value, String unitString)
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
-
-