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