Class Duration

All Implemented Interfaces:
Serializable, Cloneable, Comparable<Duration>, Relative<DurationUnit,Duration>, RelWithAbs<TimeUnit,Time,DurationUnit,Duration>, Value<DurationUnit,Duration>

@Generated(value="org.djunits.generator.GenerateDJUNIT", date="2023-07-23T14:06:38.224104100Z") public class Duration extends DoubleScalarRelWithAbs<TimeUnit,Time,DurationUnit,Duration>
Easy access methods for the Relative Duration DoubleScalar.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands.
All rights reserved.
BSD-style license. See DJUNITS License.

Author:
Alexander Verbraeck, Peter Knoppers
See Also:
  • Field Details

    • ZERO

      public static final Duration ZERO
      Constant with value zero.
    • ONE

      public static final Duration ONE
      Constant with value one.
    • NaN

      public static final Duration NaN
      Constant with value NaN.
    • POSITIVE_INFINITY

      public static final Duration POSITIVE_INFINITY
      Constant with value POSITIVE_INFINITY.
    • NEGATIVE_INFINITY

      public static final Duration NEGATIVE_INFINITY
      Constant with value NEGATIVE_INFINITY.
    • POS_MAXVALUE

      public static final Duration POS_MAXVALUE
      Constant with value MAX_VALUE.
    • NEG_MAXVALUE

      public static final Duration NEG_MAXVALUE
      Constant with value -MAX_VALUE.
  • Constructor Details

    • Duration

      public Duration(double value, DurationUnit unit)
      Construct Duration scalar.
      Parameters:
      value - double; double value
      unit - DurationUnit; unit for the double value
    • Duration

      public Duration(Duration value)
      Construct Duration scalar.
      Parameters:
      value - Duration; Scalar from which to construct this instance
  • Method Details

    • 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.
      Specified by:
      instantiateRel in class DoubleScalarRel<DurationUnit,Duration>
      Parameters:
      value - double; the double value
      unit - U; the unit
      Returns:
      R a new relative instance of the DoubleScalar of the right type
    • 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.
      Specified by:
      instantiateAbs in class DoubleScalarRelWithAbs<TimeUnit,Time,DurationUnit,Duration>
      Parameters:
      value - double; the double value
      unit - AU; the absolute unit
      Returns:
      A a new absolute instance of the DoubleScalar of the right type
    • instantiateSI

      public static final Duration instantiateSI(double value)
      Construct Duration scalar.
      Parameters:
      value - double; the double value in SI units
      Returns:
      Duration; the new scalar with the SI value
    • interpolate

      public static Duration interpolate(Duration zero, Duration one, double ratio)
      Interpolate between two values.
      Parameters:
      zero - Duration; the low value
      one - Duration; the high value
      ratio - double; the ratio between 0 and 1, inclusive
      Returns:
      Duration; a Scalar at the ratio between
    • max

      public static Duration max(Duration r1, Duration r2)
      Return the maximum value of two relative scalars.
      Parameters:
      r1 - Duration; the first scalar
      r2 - Duration; the second scalar
      Returns:
      Duration; the maximum value of two relative scalars
    • max

      public static Duration max(Duration r1, Duration r2, Duration... rn)
      Return the maximum value of more than two relative scalars.
      Parameters:
      r1 - Duration; the first scalar
      r2 - Duration; the second scalar
      rn - Duration...; the other scalars
      Returns:
      Duration; the maximum value of more than two relative scalars
    • min

      public static Duration min(Duration r1, Duration r2)
      Return the minimum value of two relative scalars.
      Parameters:
      r1 - Duration; the first scalar
      r2 - Duration; the second scalar
      Returns:
      Duration; the minimum value of two relative scalars
    • min

      public static Duration min(Duration r1, Duration r2, Duration... rn)
      Return the minimum value of more than two relative scalars.
      Parameters:
      r1 - Duration; the first scalar
      r2 - Duration; the second scalar
      rn - Duration...; the other scalars
      Returns:
      Duration; the minimum value of more than two relative scalars
    • valueOf

      public static Duration valueOf(String text)
      Returns a Duration 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 a localized or English 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 Duration
      Returns:
      Duration; the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the text cannot be parsed
      NullPointerException - when the text argument is null
    • of

      public static Duration of(double value, String unitString)
      Returns a Duration based on a value and the textual representation of the unit, which can be localized.
      Parameters:
      value - double; the value to use
      unitString - String; the textual representation of the unit
      Returns:
      Duration; the Scalar representation of the value in its unit
      Throws:
      IllegalArgumentException - when the unit cannot be parsed or is incorrect
      NullPointerException - when the unitString argument is null
    • divide

      public final Dimensionless divide(Duration v)
      Calculate the division of Duration and Duration, which results in a Dimensionless scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Dimensionless; scalar as a division of Duration and Duration
    • times

      public final Dimensionless times(Frequency v)
      Calculate the multiplication of Duration and Frequency, which results in a Dimensionless scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Dimensionless; scalar as a multiplication of Duration and Frequency
    • times

      public final ElectricalCharge times(ElectricalCurrent v)
      Calculate the multiplication of Duration and ElectricalCurrent, which results in a ElectricalCharge scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      ElectricalCharge; scalar as a multiplication of Duration and ElectricalCurrent
    • times

      public final Mass times(FlowMass v)
      Calculate the multiplication of Duration and FlowMass, which results in a Mass scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Mass; scalar as a multiplication of Duration and FlowMass
    • times

      public final Volume times(FlowVolume v)
      Calculate the multiplication of Duration and FlowVolume, which results in a Volume scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Volume; scalar as a multiplication of Duration and FlowVolume
    • times

      public final Speed times(Acceleration v)
      Calculate the multiplication of Duration and Acceleration, which results in a Speed scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Speed; scalar as a multiplication of Duration and Acceleration
    • times

      public final Energy times(Power v)
      Calculate the multiplication of Duration and Power, which results in a Energy scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Energy; scalar as a multiplication of Duration and Power
    • times

      public final Length times(Speed v)
      Calculate the multiplication of Duration and Speed, which results in a Length scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Length; scalar as a multiplication of Duration and Speed
    • times

      public final MagneticFlux times(ElectricalPotential v)
      Calculate the multiplication of Duration and ElectricalPotential, which results in a MagneticFlux scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      MagneticFlux; scalar as a multiplication of Duration and ElectricalPotential
    • times

      Calculate the multiplication of Duration and ElectricalResistance, which results in a ElectricalInductance scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      ElectricalInductance; scalar as a multiplication of Duration and ElectricalResistance
    • times

      Calculate the multiplication of Duration and ElectricalConductance, which results in a ElectricalCapacitance scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      ElectricalCapacitance; scalar as a multiplication of Duration and ElectricalConductance
    • times

      public final Angle times(AngularVelocity v)
      Calculate the multiplication of Duration and AngularVelocity, which results in a Angle scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      Angle; scalar as a multiplication of Duration and AngularVelocity
    • times

      public final AngularVelocity times(AngularAcceleration v)
      Calculate the multiplication of Duration and AngularAcceleration, which results in a AngularVelocity scalar.
      Parameters:
      v - Duration; scalar
      Returns:
      AngularVelocity; scalar as a multiplication of Duration and AngularAcceleration
    • reciprocal

      public Frequency reciprocal()
      Create the reciprocal of this scalar with the correct dimensions.
      Specified by:
      reciprocal in class DoubleScalarRel<DurationUnit,Duration>
      Returns:
      DoubleScalar<?>; a new scalar instance with correct SI dimensions