View Javadoc
1   package org.djunits.value.vdouble.vector;
2   
3   import org.djunits.unit.DurationUnit;
4   import org.djunits.unit.TimeUnit;
5   import org.djunits.value.vdouble.scalar.Duration;
6   import org.djunits.value.vdouble.scalar.Time;
7   import org.djunits.value.vdouble.vector.base.AbstractDoubleVectorAbs;
8   import org.djunits.value.vdouble.vector.data.DoubleVectorData;
9   
10  import jakarta.annotation.Generated;
11  
12  /**
13   * Double TimeVector, a vector of values with a TimeUnit.
14   * <p>
15   * Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
16   * BSD-style license. See <a href="https://djunits.org/docs/license.html">DJUNITS License</a>.
17   * </p>
18   * @author <a href="https://www.tudelft.nl/averbraeck">Alexander Verbraeck</a>
19   * @author <a href="https://www.tudelft.nl/staff/p.knoppers/">Peter Knoppers</a>
20   */
21  @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2023-04-30T13:59:27.633664900Z")
22  public class TimeVector extends AbstractDoubleVectorAbs<TimeUnit, Time, TimeVector, DurationUnit, Duration, DurationVector>
23  {
24      /** */
25      private static final long serialVersionUID = 20190905L;
26  
27      /**
28       * Construct an TimeVector from an internal data object.
29       * @param data DoubleVectorData; the internal data object for the vector data
30       * @param unit TimeUnit; the display unit of the vector data
31       */
32      public TimeVector(final DoubleVectorData data, final TimeUnit unit)
33      {
34          super(data, unit);
35      }
36  
37      /** {@inheritDoc} */
38      @Override
39      public Class<Time> getScalarClass()
40      {
41          return Time.class;
42      }
43  
44      /** {@inheritDoc} */
45      @Override
46      public TimeVector instantiateVector(final DoubleVectorData dvd, final TimeUnit displayUnit)
47      {
48          return new TimeVector(dvd, displayUnit);
49      }
50  
51      /** {@inheritDoc} */
52      @Override
53      public Time instantiateScalarSI(final double valueSI, final TimeUnit displayUnit)
54      {
55          Time result = Time.instantiateSI(valueSI);
56          result.setDisplayUnit(displayUnit);
57          return result;
58      }
59  
60      /** {@inheritDoc} */
61      @Override
62      public DurationVector instantiateVectorRel(final DoubleVectorData dvd, final DurationUnit displayUnit)
63      {
64          return new DurationVector(dvd, displayUnit);
65      }
66  
67      /** {@inheritDoc} */
68      @Override
69      public Duration instantiateScalarRelSI(final double valueSI, final DurationUnit displayUnit)
70      {
71          Duration result = Duration.instantiateSI(valueSI);
72          result.setDisplayUnit(displayUnit);
73          return result;
74      }
75  
76  }