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