1 package org.djunits.value.vdouble.vector;
2
3 import java.util.List;
4 import java.util.SortedMap;
5
6 import org.djunits.unit.DurationUnit;
7 import org.djunits.unit.TimeUnit;
8 import org.djunits.value.StorageType;
9 import org.djunits.value.ValueException;
10 import org.djunits.value.vdouble.scalar.Time;
11
12
13
14
15
16
17
18
19
20
21
22
23 public class MutableTimeVector
24 extends AbstractMutableDoubleVectorAbs<TimeUnit, DurationUnit, TimeVector, DurationVector, MutableTimeVector, Time>
25 {
26
27 private static final long serialVersionUID = 20151003L;
28
29
30
31
32
33
34
35
36 public MutableTimeVector(final double[] values, final TimeUnit unit, final StorageType storageType) throws ValueException
37 {
38 super(values, unit, storageType);
39 }
40
41
42
43
44
45
46
47
48 public MutableTimeVector(final List<Double> values, final TimeUnit unit, final StorageType storageType)
49 throws ValueException
50 {
51 super(values, unit, storageType);
52 }
53
54
55
56
57
58
59
60 public MutableTimeVector(final Time[] values, final StorageType storageType) throws ValueException
61 {
62 super(values, storageType);
63 }
64
65
66
67
68
69
70
71 public MutableTimeVector(final List<Time> values, final StorageType storageType) throws ValueException
72 {
73 super(values, storageType);
74 }
75
76
77
78
79
80
81
82
83 public MutableTimeVector(final SortedMap<Integer, Time> values, final int length, final StorageType storageType)
84 throws ValueException
85 {
86 super(values, length, storageType);
87 }
88
89
90
91
92
93
94
95
96
97 public MutableTimeVector(final SortedMap<Integer, Double> values, final TimeUnit unit, final int length,
98 final StorageType storageType) throws ValueException
99 {
100 super(values, unit, length, storageType);
101 }
102
103
104
105
106
107
108 MutableTimeVector(final DoubleVectorData data, final TimeUnit unit)
109 {
110 super(data, unit);
111 }
112
113
114 @Override
115 protected final TimeVector instantiateTypeAbs(final DoubleVectorData dvd, final TimeUnit unit)
116 {
117 return new TimeVector(dvd, unit);
118 }
119
120
121 @Override
122 protected final DurationVector instantiateTypeRel(final DoubleVectorData dvd, final DurationUnit unit)
123 {
124 return new DurationVector(dvd, unit);
125 }
126
127
128 @Override
129 protected final MutableTimeVector instantiateMutableType(final DoubleVectorData dvd, final TimeUnit unit)
130 {
131 return new MutableTimeVector(dvd, unit);
132 }
133
134
135 @Override
136 protected final Time instantiateScalar(final double value, final TimeUnit unit)
137 {
138 return new Time(value, unit);
139 }
140
141
142 @Override
143 public final MutableTimeVector toDense()
144 {
145 return this.data.isDense() ? (MutableTimeVector) this : instantiateMutableType(this.data.toDense(), getUnit());
146 }
147
148
149 @Override
150 public final MutableTimeVector toSparse()
151 {
152 return this.data.isSparse() ? (MutableTimeVector) this : instantiateMutableType(this.data.toSparse(), getUnit());
153 }
154
155
156
157
158
159
160 public Time[] toArray()
161 {
162 Time[] array = new Time[size()];
163 for (int i = 0; i < size(); i++)
164 {
165 try
166 {
167 array[i] = get(i);
168 }
169 catch (ValueException exception)
170 {
171 throw new RuntimeException(exception);
172 }
173 }
174 return array;
175 }
176
177 }