1 package org.djunits.value.vdouble.scalar;
2
3 import java.util.regex.Matcher;
4
5 import javax.annotation.Generated;
6
7 import org.djunits.Throw;
8 import org.djunits.unit.AbsorbedDoseUnit;
9 import org.djunits.unit.AccelerationUnit;
10 import org.djunits.unit.AmountOfSubstanceUnit;
11 import org.djunits.unit.AngleUnit;
12 import org.djunits.unit.AreaUnit;
13 import org.djunits.unit.CatalyticActivityUnit;
14 import org.djunits.unit.DensityUnit;
15 import org.djunits.unit.DimensionlessUnit;
16 import org.djunits.unit.DurationUnit;
17 import org.djunits.unit.ElectricalCapacitanceUnit;
18 import org.djunits.unit.ElectricalChargeUnit;
19 import org.djunits.unit.ElectricalConductanceUnit;
20 import org.djunits.unit.ElectricalCurrentUnit;
21 import org.djunits.unit.ElectricalInductanceUnit;
22 import org.djunits.unit.ElectricalPotentialUnit;
23 import org.djunits.unit.ElectricalResistanceUnit;
24 import org.djunits.unit.EnergyUnit;
25 import org.djunits.unit.EquivalentDoseUnit;
26 import org.djunits.unit.FlowMassUnit;
27 import org.djunits.unit.FlowVolumeUnit;
28 import org.djunits.unit.ForceUnit;
29 import org.djunits.unit.FrequencyUnit;
30 import org.djunits.unit.IlluminanceUnit;
31 import org.djunits.unit.LengthUnit;
32 import org.djunits.unit.LinearDensityUnit;
33 import org.djunits.unit.LuminousFluxUnit;
34 import org.djunits.unit.LuminousIntensityUnit;
35 import org.djunits.unit.MagneticFluxDensityUnit;
36 import org.djunits.unit.MagneticFluxUnit;
37 import org.djunits.unit.MassUnit;
38 import org.djunits.unit.PowerUnit;
39 import org.djunits.unit.PressureUnit;
40 import org.djunits.unit.RadioActivityUnit;
41 import org.djunits.unit.SIUnit;
42 import org.djunits.unit.SolidAngleUnit;
43 import org.djunits.unit.SpeedUnit;
44 import org.djunits.unit.TemperatureUnit;
45 import org.djunits.unit.TorqueUnit;
46 import org.djunits.unit.Unit;
47 import org.djunits.unit.VolumeUnit;
48 import org.djunits.unit.si.SIDimensions;
49 import org.djunits.unit.util.UnitRuntimeException;
50 import org.djunits.value.util.ValueUtil;
51 import org.djunits.value.vdouble.scalar.base.AbstractDoubleScalarRel;
52 import org.djunits.value.vdouble.scalar.base.DoubleScalar;
53
54
55
56
57
58
59
60
61
62
63
64 @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2019-10-18T12:12:25.568Z")
65 public class SIScalar extends AbstractDoubleScalarRel<SIUnit, SIScalar>
66 {
67
68 private static final long serialVersionUID = 20150901L;
69
70
71
72
73
74
75 public SIScalar(final double value, final SIUnit unit)
76 {
77 super(value, unit);
78 }
79
80
81
82
83
84 public SIScalarouble/scalar/SIScalar.html#SIScalar">SIScalar(final SIScalar value)
85 {
86 super(value);
87 }
88
89
90 @Override
91 public final SIScalar instantiateRel(final double value, final SIUnit unit)
92 {
93 return new SIScalar(value, unit);
94 }
95
96
97
98
99
100
101
102 public static final SIScalar instantiateSI(final double value, final SIUnit unit)
103 {
104 return new SIScalar(value, unit);
105 }
106
107
108
109
110
111
112
113
114 public static SIScalarscalar/SIScalar.html#SIScalar">SIScalar/SIScalar.html#SIScalar">SIScalar interpolate(final SIScalarscalar/SIScalar.html#SIScalar">SIScalar zero, final SIScalar one, final double ratio)
115 {
116 return new SIScalar(zero.getInUnit() * (1 - ratio) + one.getInUnit(zero.getDisplayUnit()) * ratio,
117 zero.getDisplayUnit());
118 }
119
120
121
122
123
124
125
126 public static SIScalare/scalar/SIScalar.html#SIScalar">SIScalare/scalar/SIScalar.html#SIScalar">SIScalar max(final SIScalare/scalar/SIScalar.html#SIScalar">SIScalar r1, final SIScalar r2)
127 {
128 return (r1.gt(r2)) ? r1 : r2;
129 }
130
131
132
133
134
135
136
137
138 public static SIScalare/scalar/SIScalar.html#SIScalar">SIScalare/scalar/SIScalar.html#SIScalar">SIScalar max(final SIScalare/scalar/SIScalar.html#SIScalar">SIScalar r1, final SIScalar r2, final SIScalar... rn)
139 {
140 SIScalar maxr = (r1.gt(r2)) ? r1 : r2;
141 for (SIScalar r : rn)
142 {
143 if (r.gt(maxr))
144 {
145 maxr = r;
146 }
147 }
148 return maxr;
149 }
150
151
152
153
154
155
156
157 public static SIScalare/scalar/SIScalar.html#SIScalar">SIScalare/scalar/SIScalar.html#SIScalar">SIScalar min(final SIScalare/scalar/SIScalar.html#SIScalar">SIScalar r1, final SIScalar r2)
158 {
159 return (r1.lt(r2)) ? r1 : r2;
160 }
161
162
163
164
165
166
167
168
169 public static SIScalare/scalar/SIScalar.html#SIScalar">SIScalare/scalar/SIScalar.html#SIScalar">SIScalar min(final SIScalare/scalar/SIScalar.html#SIScalar">SIScalar r1, final SIScalar r2, final SIScalar... rn)
170 {
171 SIScalar minr = (r1.lt(r2)) ? r1 : r2;
172 for (SIScalar r : rn)
173 {
174 if (r.lt(minr))
175 {
176 minr = r;
177 }
178 }
179 return minr;
180 }
181
182
183
184
185
186
187
188
189
190
191 public static SIScalar valueOf(final String text)
192 {
193 Throw.whenNull(text, "Error parsing SIScalar: unitString is null");
194 Throw.when(text.length() == 0, IllegalArgumentException.class, "Error parsing SIScalar: empty unitString");
195 Matcher matcher = ValueUtil.NUMBER_PATTERN.matcher(text);
196 if (matcher.find())
197 {
198 int index = matcher.end();
199 try
200 {
201 String unitString = text.substring(index).trim();
202 String valueString = text.substring(0, index).trim();
203 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
204 if (unit != null)
205 {
206 double d = Double.parseDouble(valueString);
207 return new SIScalar(d, unit);
208 }
209 }
210 catch (Exception exception)
211 {
212 throw new IllegalArgumentException("Error parsing SIScalar from " + text, exception);
213 }
214 }
215 throw new IllegalArgumentException("Error parsing SIScalar from " + text);
216 }
217
218
219
220
221
222
223
224
225
226 public static SIScalar of(final double value, final String unitString)
227 {
228 Throw.whenNull(unitString, "Error parsing SIScalar: unitString is null");
229 Throw.when(unitString.length() == 0, IllegalArgumentException.class, "Error parsing SIScalar: empty unitString");
230 try
231 {
232 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
233 if (unit != null)
234 {
235 return new SIScalar(value, unit);
236 }
237 }
238 catch (Exception exception)
239 {
240 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
241 }
242 throw new IllegalArgumentException("Error parsing SIScalar with unit " + unitString);
243 }
244
245
246
247
248
249
250
251
252
253
254
255
256
257 public final <KU extends Unit<KU>, K extends AbstractDoubleScalarRel<KU, K>> K as(final KU displayUnit)
258 {
259 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(displayUnit.getQuantity().getSiDimensions())),
260 UnitRuntimeException.class, "SIScalar with unit %s cannot be converted to a scalar with unit %s",
261 getDisplayUnit(), displayUnit);
262 K result = DoubleScalar.instantiate(this.si, displayUnit.getStandardUnit());
263 result.setDisplayUnit(displayUnit);
264 return result;
265 }
266
267
268
269
270
271 public final AbsorbedDose asAbsorbedDose()
272 {
273 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
274 UnitRuntimeException.class, "cannot cast %s to AbsorbedDose", this.toString());
275 return new AbsorbedDose(getSI(), AbsorbedDoseUnit.SI);
276 }
277
278
279
280
281
282
283 public final AbsorbedDose asAbsorbedDose(final AbsorbedDoseUnit displayUnit)
284 {
285 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
286 UnitRuntimeException.class, "cannot cast %s to AbsorbedDose", this.toString());
287 AbsorbedDoser/AbsorbedDose.html#AbsorbedDose">AbsorbedDose result = new AbsorbedDose(getSI(), displayUnit.getStandardUnit());
288 result.setDisplayUnit(displayUnit);
289 return result;
290 }
291
292
293
294
295
296 public final Acceleration asAcceleration()
297 {
298 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
299 UnitRuntimeException.class, "cannot cast %s to Acceleration", this.toString());
300 return new Acceleration(getSI(), AccelerationUnit.SI);
301 }
302
303
304
305
306
307
308 public final Acceleration asAcceleration(final AccelerationUnit displayUnit)
309 {
310 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
311 UnitRuntimeException.class, "cannot cast %s to Acceleration", this.toString());
312 Accelerationr/Acceleration.html#Acceleration">Acceleration result = new Acceleration(getSI(), displayUnit.getStandardUnit());
313 result.setDisplayUnit(displayUnit);
314 return result;
315 }
316
317
318
319
320
321 public final AmountOfSubstance asAmountOfSubstance()
322 {
323 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
324 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstance", this.toString());
325 return new AmountOfSubstance(getSI(), AmountOfSubstanceUnit.SI);
326 }
327
328
329
330
331
332
333 public final AmountOfSubstance asAmountOfSubstance(final AmountOfSubstanceUnit displayUnit)
334 {
335 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
336 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstance", this.toString());
337 AmountOfSubstanceuntOfSubstance.html#AmountOfSubstance">AmountOfSubstance result = new AmountOfSubstance(getSI(), displayUnit.getStandardUnit());
338 result.setDisplayUnit(displayUnit);
339 return result;
340 }
341
342
343
344
345
346 public final Area asArea()
347 {
348 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
349 UnitRuntimeException.class, "cannot cast %s to Area", this.toString());
350 return new Area(getSI(), AreaUnit.SI);
351 }
352
353
354
355
356
357
358 public final Area asArea(final AreaUnit displayUnit)
359 {
360 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
361 UnitRuntimeException.class, "cannot cast %s to Area", this.toString());
362 Areale/scalar/Area.html#Area">Area result = new Area(getSI(), displayUnit.getStandardUnit());
363 result.setDisplayUnit(displayUnit);
364 return result;
365 }
366
367
368
369
370
371 public final CatalyticActivity asCatalyticActivity()
372 {
373 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
374 UnitRuntimeException.class, "cannot cast %s to CatalyticActivity", this.toString());
375 return new CatalyticActivity(getSI(), CatalyticActivityUnit.SI);
376 }
377
378
379
380
381
382
383 public final CatalyticActivity asCatalyticActivity(final CatalyticActivityUnit displayUnit)
384 {
385 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
386 UnitRuntimeException.class, "cannot cast %s to CatalyticActivity", this.toString());
387 CatalyticActivityalyticActivity.html#CatalyticActivity">CatalyticActivity result = new CatalyticActivity(getSI(), displayUnit.getStandardUnit());
388 result.setDisplayUnit(displayUnit);
389 return result;
390 }
391
392
393
394
395
396 public final Density asDensity()
397 {
398 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
399 UnitRuntimeException.class, "cannot cast %s to Density", this.toString());
400 return new Density(getSI(), DensityUnit.SI);
401 }
402
403
404
405
406
407
408 public final Density asDensity(final DensityUnit displayUnit)
409 {
410 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
411 UnitRuntimeException.class, "cannot cast %s to Density", this.toString());
412 Densityscalar/Density.html#Density">Density result = new Density(getSI(), displayUnit.getStandardUnit());
413 result.setDisplayUnit(displayUnit);
414 return result;
415 }
416
417
418
419
420
421 public final Dimensionless asDimensionless()
422 {
423 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
424 UnitRuntimeException.class, "cannot cast %s to Dimensionless", this.toString());
425 return new Dimensionless(getSI(), DimensionlessUnit.SI);
426 }
427
428
429
430
431
432
433 public final Dimensionless asDimensionless(final DimensionlessUnit displayUnit)
434 {
435 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
436 UnitRuntimeException.class, "cannot cast %s to Dimensionless", this.toString());
437 Dimensionless/Dimensionless.html#Dimensionless">Dimensionless result = new Dimensionless(getSI(), displayUnit.getStandardUnit());
438 result.setDisplayUnit(displayUnit);
439 return result;
440 }
441
442
443
444
445
446 public final ElectricalCapacitance asElectricalCapacitance()
447 {
448 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
449 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitance", this.toString());
450 return new ElectricalCapacitance(getSI(), ElectricalCapacitanceUnit.SI);
451 }
452
453
454
455
456
457
458 public final ElectricalCapacitance asElectricalCapacitance(final ElectricalCapacitanceUnit displayUnit)
459 {
460 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
461 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitance", this.toString());
462 ElectricalCapacitancecalCapacitance.html#ElectricalCapacitance">ElectricalCapacitance result = new ElectricalCapacitance(getSI(), displayUnit.getStandardUnit());
463 result.setDisplayUnit(displayUnit);
464 return result;
465 }
466
467
468
469
470
471 public final ElectricalCharge asElectricalCharge()
472 {
473 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
474 UnitRuntimeException.class, "cannot cast %s to ElectricalCharge", this.toString());
475 return new ElectricalCharge(getSI(), ElectricalChargeUnit.SI);
476 }
477
478
479
480
481
482
483 public final ElectricalCharge asElectricalCharge(final ElectricalChargeUnit displayUnit)
484 {
485 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
486 UnitRuntimeException.class, "cannot cast %s to ElectricalCharge", this.toString());
487 ElectricalChargeectricalCharge.html#ElectricalCharge">ElectricalCharge result = new ElectricalCharge(getSI(), displayUnit.getStandardUnit());
488 result.setDisplayUnit(displayUnit);
489 return result;
490 }
491
492
493
494
495
496 public final ElectricalConductance asElectricalConductance()
497 {
498 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
499 UnitRuntimeException.class, "cannot cast %s to ElectricalConductance", this.toString());
500 return new ElectricalConductance(getSI(), ElectricalConductanceUnit.SI);
501 }
502
503
504
505
506
507
508 public final ElectricalConductance asElectricalConductance(final ElectricalConductanceUnit displayUnit)
509 {
510 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
511 UnitRuntimeException.class, "cannot cast %s to ElectricalConductance", this.toString());
512 ElectricalConductancecalConductance.html#ElectricalConductance">ElectricalConductance result = new ElectricalConductance(getSI(), displayUnit.getStandardUnit());
513 result.setDisplayUnit(displayUnit);
514 return result;
515 }
516
517
518
519
520
521 public final ElectricalCurrent asElectricalCurrent()
522 {
523 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
524 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrent", this.toString());
525 return new ElectricalCurrent(getSI(), ElectricalCurrentUnit.SI);
526 }
527
528
529
530
531
532
533 public final ElectricalCurrent asElectricalCurrent(final ElectricalCurrentUnit displayUnit)
534 {
535 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
536 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrent", this.toString());
537 ElectricalCurrentctricalCurrent.html#ElectricalCurrent">ElectricalCurrent result = new ElectricalCurrent(getSI(), displayUnit.getStandardUnit());
538 result.setDisplayUnit(displayUnit);
539 return result;
540 }
541
542
543
544
545
546 public final ElectricalInductance asElectricalInductance()
547 {
548 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
549 UnitRuntimeException.class, "cannot cast %s to ElectricalInductance", this.toString());
550 return new ElectricalInductance(getSI(), ElectricalInductanceUnit.SI);
551 }
552
553
554
555
556
557
558 public final ElectricalInductance asElectricalInductance(final ElectricalInductanceUnit displayUnit)
559 {
560 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
561 UnitRuntimeException.class, "cannot cast %s to ElectricalInductance", this.toString());
562 ElectricalInductanceicalInductance.html#ElectricalInductance">ElectricalInductance result = new ElectricalInductance(getSI(), displayUnit.getStandardUnit());
563 result.setDisplayUnit(displayUnit);
564 return result;
565 }
566
567
568
569
570
571 public final ElectricalPotential asElectricalPotential()
572 {
573 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
574 UnitRuntimeException.class, "cannot cast %s to ElectricalPotential", this.toString());
575 return new ElectricalPotential(getSI(), ElectricalPotentialUnit.SI);
576 }
577
578
579
580
581
582
583 public final ElectricalPotential asElectricalPotential(final ElectricalPotentialUnit displayUnit)
584 {
585 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
586 UnitRuntimeException.class, "cannot cast %s to ElectricalPotential", this.toString());
587 ElectricalPotentialricalPotential.html#ElectricalPotential">ElectricalPotential result = new ElectricalPotential(getSI(), displayUnit.getStandardUnit());
588 result.setDisplayUnit(displayUnit);
589 return result;
590 }
591
592
593
594
595
596 public final ElectricalResistance asElectricalResistance()
597 {
598 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
599 UnitRuntimeException.class, "cannot cast %s to ElectricalResistance", this.toString());
600 return new ElectricalResistance(getSI(), ElectricalResistanceUnit.SI);
601 }
602
603
604
605
606
607
608 public final ElectricalResistance asElectricalResistance(final ElectricalResistanceUnit displayUnit)
609 {
610 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
611 UnitRuntimeException.class, "cannot cast %s to ElectricalResistance", this.toString());
612 ElectricalResistanceicalResistance.html#ElectricalResistance">ElectricalResistance result = new ElectricalResistance(getSI(), displayUnit.getStandardUnit());
613 result.setDisplayUnit(displayUnit);
614 return result;
615 }
616
617
618
619
620
621 public final Energy asEnergy()
622 {
623 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
624 UnitRuntimeException.class, "cannot cast %s to Energy", this.toString());
625 return new Energy(getSI(), EnergyUnit.SI);
626 }
627
628
629
630
631
632
633 public final Energy asEnergy(final EnergyUnit displayUnit)
634 {
635 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
636 UnitRuntimeException.class, "cannot cast %s to Energy", this.toString());
637 Energy/scalar/Energy.html#Energy">Energy result = new Energy(getSI(), displayUnit.getStandardUnit());
638 result.setDisplayUnit(displayUnit);
639 return result;
640 }
641
642
643
644
645
646 public final EquivalentDose asEquivalentDose()
647 {
648 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
649 UnitRuntimeException.class, "cannot cast %s to EquivalentDose", this.toString());
650 return new EquivalentDose(getSI(), EquivalentDoseUnit.SI);
651 }
652
653
654
655
656
657
658 public final EquivalentDose asEquivalentDose(final EquivalentDoseUnit displayUnit)
659 {
660 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
661 UnitRuntimeException.class, "cannot cast %s to EquivalentDose", this.toString());
662 EquivalentDoseEquivalentDose.html#EquivalentDose">EquivalentDose result = new EquivalentDose(getSI(), displayUnit.getStandardUnit());
663 result.setDisplayUnit(displayUnit);
664 return result;
665 }
666
667
668
669
670
671 public final FlowMass asFlowMass()
672 {
673 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
674 UnitRuntimeException.class, "cannot cast %s to FlowMass", this.toString());
675 return new FlowMass(getSI(), FlowMassUnit.SI);
676 }
677
678
679
680
681
682
683 public final FlowMass asFlowMass(final FlowMassUnit displayUnit)
684 {
685 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
686 UnitRuntimeException.class, "cannot cast %s to FlowMass", this.toString());
687 FlowMasscalar/FlowMass.html#FlowMass">FlowMass result = new FlowMass(getSI(), displayUnit.getStandardUnit());
688 result.setDisplayUnit(displayUnit);
689 return result;
690 }
691
692
693
694
695
696 public final FlowVolume asFlowVolume()
697 {
698 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
699 UnitRuntimeException.class, "cannot cast %s to FlowVolume", this.toString());
700 return new FlowVolume(getSI(), FlowVolumeUnit.SI);
701 }
702
703
704
705
706
707
708 public final FlowVolume asFlowVolume(final FlowVolumeUnit displayUnit)
709 {
710 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
711 UnitRuntimeException.class, "cannot cast %s to FlowVolume", this.toString());
712 FlowVolumelar/FlowVolume.html#FlowVolume">FlowVolume result = new FlowVolume(getSI(), displayUnit.getStandardUnit());
713 result.setDisplayUnit(displayUnit);
714 return result;
715 }
716
717
718
719
720
721 public final Force asForce()
722 {
723 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
724 UnitRuntimeException.class, "cannot cast %s to Force", this.toString());
725 return new Force(getSI(), ForceUnit.SI);
726 }
727
728
729
730
731
732
733 public final Force asForce(final ForceUnit displayUnit)
734 {
735 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
736 UnitRuntimeException.class, "cannot cast %s to Force", this.toString());
737 Forcee/scalar/Force.html#Force">Force result = new Force(getSI(), displayUnit.getStandardUnit());
738 result.setDisplayUnit(displayUnit);
739 return result;
740 }
741
742
743
744
745
746 public final Frequency asFrequency()
747 {
748 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
749 UnitRuntimeException.class, "cannot cast %s to Frequency", this.toString());
750 return new Frequency(getSI(), FrequencyUnit.SI);
751 }
752
753
754
755
756
757
758 public final Frequency asFrequency(final FrequencyUnit displayUnit)
759 {
760 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
761 UnitRuntimeException.class, "cannot cast %s to Frequency", this.toString());
762 Frequencyalar/Frequency.html#Frequency">Frequency result = new Frequency(getSI(), displayUnit.getStandardUnit());
763 result.setDisplayUnit(displayUnit);
764 return result;
765 }
766
767
768
769
770
771 public final Illuminance asIlluminance()
772 {
773 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
774 UnitRuntimeException.class, "cannot cast %s to Illuminance", this.toString());
775 return new Illuminance(getSI(), IlluminanceUnit.SI);
776 }
777
778
779
780
781
782
783 public final Illuminance asIlluminance(final IlluminanceUnit displayUnit)
784 {
785 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
786 UnitRuntimeException.class, "cannot cast %s to Illuminance", this.toString());
787 Illuminancear/Illuminance.html#Illuminance">Illuminance result = new Illuminance(getSI(), displayUnit.getStandardUnit());
788 result.setDisplayUnit(displayUnit);
789 return result;
790 }
791
792
793
794
795
796 public final LinearDensity asLinearDensity()
797 {
798 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
799 UnitRuntimeException.class, "cannot cast %s to LinearDensity", this.toString());
800 return new LinearDensity(getSI(), LinearDensityUnit.SI);
801 }
802
803
804
805
806
807
808 public final LinearDensity asLinearDensity(final LinearDensityUnit displayUnit)
809 {
810 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
811 UnitRuntimeException.class, "cannot cast %s to LinearDensity", this.toString());
812 LinearDensity/LinearDensity.html#LinearDensity">LinearDensity result = new LinearDensity(getSI(), displayUnit.getStandardUnit());
813 result.setDisplayUnit(displayUnit);
814 return result;
815 }
816
817
818
819
820
821 public final LuminousFlux asLuminousFlux()
822 {
823 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
824 UnitRuntimeException.class, "cannot cast %s to LuminousFlux", this.toString());
825 return new LuminousFlux(getSI(), LuminousFluxUnit.SI);
826 }
827
828
829
830
831
832
833 public final LuminousFlux asLuminousFlux(final LuminousFluxUnit displayUnit)
834 {
835 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
836 UnitRuntimeException.class, "cannot cast %s to LuminousFlux", this.toString());
837 LuminousFluxr/LuminousFlux.html#LuminousFlux">LuminousFlux result = new LuminousFlux(getSI(), displayUnit.getStandardUnit());
838 result.setDisplayUnit(displayUnit);
839 return result;
840 }
841
842
843
844
845
846 public final LuminousIntensity asLuminousIntensity()
847 {
848 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
849 UnitRuntimeException.class, "cannot cast %s to LuminousIntensity", this.toString());
850 return new LuminousIntensity(getSI(), LuminousIntensityUnit.SI);
851 }
852
853
854
855
856
857
858 public final LuminousIntensity asLuminousIntensity(final LuminousIntensityUnit displayUnit)
859 {
860 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
861 UnitRuntimeException.class, "cannot cast %s to LuminousIntensity", this.toString());
862 LuminousIntensityinousIntensity.html#LuminousIntensity">LuminousIntensity result = new LuminousIntensity(getSI(), displayUnit.getStandardUnit());
863 result.setDisplayUnit(displayUnit);
864 return result;
865 }
866
867
868
869
870
871 public final MagneticFluxDensity asMagneticFluxDensity()
872 {
873 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
874 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensity", this.toString());
875 return new MagneticFluxDensity(getSI(), MagneticFluxDensityUnit.SI);
876 }
877
878
879
880
881
882
883 public final MagneticFluxDensity asMagneticFluxDensity(final MagneticFluxDensityUnit displayUnit)
884 {
885 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
886 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensity", this.toString());
887 MagneticFluxDensityticFluxDensity.html#MagneticFluxDensity">MagneticFluxDensity result = new MagneticFluxDensity(getSI(), displayUnit.getStandardUnit());
888 result.setDisplayUnit(displayUnit);
889 return result;
890 }
891
892
893
894
895
896 public final MagneticFlux asMagneticFlux()
897 {
898 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
899 UnitRuntimeException.class, "cannot cast %s to MagneticFlux", this.toString());
900 return new MagneticFlux(getSI(), MagneticFluxUnit.SI);
901 }
902
903
904
905
906
907
908 public final MagneticFlux asMagneticFlux(final MagneticFluxUnit displayUnit)
909 {
910 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
911 UnitRuntimeException.class, "cannot cast %s to MagneticFlux", this.toString());
912 MagneticFluxr/MagneticFlux.html#MagneticFlux">MagneticFlux result = new MagneticFlux(getSI(), displayUnit.getStandardUnit());
913 result.setDisplayUnit(displayUnit);
914 return result;
915 }
916
917
918
919
920
921 public final Mass asMass()
922 {
923 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
924 UnitRuntimeException.class, "cannot cast %s to Mass", this.toString());
925 return new Mass(getSI(), MassUnit.SI);
926 }
927
928
929
930
931
932
933 public final Mass asMass(final MassUnit displayUnit)
934 {
935 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
936 UnitRuntimeException.class, "cannot cast %s to Mass", this.toString());
937 Massle/scalar/Mass.html#Mass">Mass result = new Mass(getSI(), displayUnit.getStandardUnit());
938 result.setDisplayUnit(displayUnit);
939 return result;
940 }
941
942
943
944
945
946 public final Power asPower()
947 {
948 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
949 UnitRuntimeException.class, "cannot cast %s to Power", this.toString());
950 return new Power(getSI(), PowerUnit.SI);
951 }
952
953
954
955
956
957
958 public final Power asPower(final PowerUnit displayUnit)
959 {
960 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
961 UnitRuntimeException.class, "cannot cast %s to Power", this.toString());
962 Powere/scalar/Power.html#Power">Power result = new Power(getSI(), displayUnit.getStandardUnit());
963 result.setDisplayUnit(displayUnit);
964 return result;
965 }
966
967
968
969
970
971 public final Pressure asPressure()
972 {
973 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
974 UnitRuntimeException.class, "cannot cast %s to Pressure", this.toString());
975 return new Pressure(getSI(), PressureUnit.SI);
976 }
977
978
979
980
981
982
983 public final Pressure asPressure(final PressureUnit displayUnit)
984 {
985 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
986 UnitRuntimeException.class, "cannot cast %s to Pressure", this.toString());
987 Pressurecalar/Pressure.html#Pressure">Pressure result = new Pressure(getSI(), displayUnit.getStandardUnit());
988 result.setDisplayUnit(displayUnit);
989 return result;
990 }
991
992
993
994
995
996 public final RadioActivity asRadioActivity()
997 {
998 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
999 UnitRuntimeException.class, "cannot cast %s to RadioActivity", this.toString());
1000 return new RadioActivity(getSI(), RadioActivityUnit.SI);
1001 }
1002
1003
1004
1005
1006
1007
1008 public final RadioActivity asRadioActivity(final RadioActivityUnit displayUnit)
1009 {
1010 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1011 UnitRuntimeException.class, "cannot cast %s to RadioActivity", this.toString());
1012 RadioActivity/RadioActivity.html#RadioActivity">RadioActivity result = new RadioActivity(getSI(), displayUnit.getStandardUnit());
1013 result.setDisplayUnit(displayUnit);
1014 return result;
1015 }
1016
1017
1018
1019
1020
1021 public final SolidAngle asSolidAngle()
1022 {
1023 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1024 UnitRuntimeException.class, "cannot cast %s to SolidAngle", this.toString());
1025 return new SolidAngle(getSI(), SolidAngleUnit.SI);
1026 }
1027
1028
1029
1030
1031
1032
1033 public final SolidAngle asSolidAngle(final SolidAngleUnit displayUnit)
1034 {
1035 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1036 UnitRuntimeException.class, "cannot cast %s to SolidAngle", this.toString());
1037 SolidAnglelar/SolidAngle.html#SolidAngle">SolidAngle result = new SolidAngle(getSI(), displayUnit.getStandardUnit());
1038 result.setDisplayUnit(displayUnit);
1039 return result;
1040 }
1041
1042
1043
1044
1045
1046 public final Speed asSpeed()
1047 {
1048 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1049 UnitRuntimeException.class, "cannot cast %s to Speed", this.toString());
1050 return new Speed(getSI(), SpeedUnit.SI);
1051 }
1052
1053
1054
1055
1056
1057
1058 public final Speed asSpeed(final SpeedUnit displayUnit)
1059 {
1060 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1061 UnitRuntimeException.class, "cannot cast %s to Speed", this.toString());
1062 Speede/scalar/Speed.html#Speed">Speed result = new Speed(getSI(), displayUnit.getStandardUnit());
1063 result.setDisplayUnit(displayUnit);
1064 return result;
1065 }
1066
1067
1068
1069
1070
1071 public final Torque asTorque()
1072 {
1073 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1074 UnitRuntimeException.class, "cannot cast %s to Torque", this.toString());
1075 return new Torque(getSI(), TorqueUnit.SI);
1076 }
1077
1078
1079
1080
1081
1082
1083 public final Torque asTorque(final TorqueUnit displayUnit)
1084 {
1085 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1086 UnitRuntimeException.class, "cannot cast %s to Torque", this.toString());
1087 Torque/scalar/Torque.html#Torque">Torque result = new Torque(getSI(), displayUnit.getStandardUnit());
1088 result.setDisplayUnit(displayUnit);
1089 return result;
1090 }
1091
1092
1093
1094
1095
1096 public final Volume asVolume()
1097 {
1098 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1099 UnitRuntimeException.class, "cannot cast %s to Volume", this.toString());
1100 return new Volume(getSI(), VolumeUnit.SI);
1101 }
1102
1103
1104
1105
1106
1107
1108 public final Volume asVolume(final VolumeUnit displayUnit)
1109 {
1110 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1111 UnitRuntimeException.class, "cannot cast %s to Volume", this.toString());
1112 Volume/scalar/Volume.html#Volume">Volume result = new Volume(getSI(), displayUnit.getStandardUnit());
1113 result.setDisplayUnit(displayUnit);
1114 return result;
1115 }
1116
1117
1118
1119
1120
1121 public final Angle asAngle()
1122 {
1123 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1124 UnitRuntimeException.class, "cannot cast %s to Angle", this.toString());
1125 return new Angle(getSI(), AngleUnit.SI);
1126 }
1127
1128
1129
1130
1131
1132
1133 public final Angle asAngle(final AngleUnit displayUnit)
1134 {
1135 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1136 UnitRuntimeException.class, "cannot cast %s to Angle", this.toString());
1137 Anglee/scalar/Angle.html#Angle">Angle result = new Angle(getSI(), displayUnit.getStandardUnit());
1138 result.setDisplayUnit(displayUnit);
1139 return result;
1140 }
1141
1142
1143
1144
1145
1146 public final Length asLength()
1147 {
1148 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1149 UnitRuntimeException.class, "cannot cast %s to Length", this.toString());
1150 return new Length(getSI(), LengthUnit.SI);
1151 }
1152
1153
1154
1155
1156
1157
1158 public final Length asLength(final LengthUnit displayUnit)
1159 {
1160 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1161 UnitRuntimeException.class, "cannot cast %s to Length", this.toString());
1162 Length/scalar/Length.html#Length">Length result = new Length(getSI(), displayUnit.getStandardUnit());
1163 result.setDisplayUnit(displayUnit);
1164 return result;
1165 }
1166
1167
1168
1169
1170
1171 public final Temperature asTemperature()
1172 {
1173 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1174 UnitRuntimeException.class, "cannot cast %s to Temperature", this.toString());
1175 return new Temperature(getSI(), TemperatureUnit.SI);
1176 }
1177
1178
1179
1180
1181
1182
1183 public final Temperature asTemperature(final TemperatureUnit displayUnit)
1184 {
1185 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1186 UnitRuntimeException.class, "cannot cast %s to Temperature", this.toString());
1187 Temperaturear/Temperature.html#Temperature">Temperature result = new Temperature(getSI(), displayUnit.getStandardUnit());
1188 result.setDisplayUnit(displayUnit);
1189 return result;
1190 }
1191
1192
1193
1194
1195
1196 public final Duration asDuration()
1197 {
1198 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1199 UnitRuntimeException.class, "cannot cast %s to Duration", this.toString());
1200 return new Duration(getSI(), DurationUnit.SI);
1201 }
1202
1203
1204
1205
1206
1207
1208 public final Duration asDuration(final DurationUnit displayUnit)
1209 {
1210 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1211 UnitRuntimeException.class, "cannot cast %s to Duration", this.toString());
1212 Durationcalar/Duration.html#Duration">Duration result = new Duration(getSI(), displayUnit.getStandardUnit());
1213 result.setDisplayUnit(displayUnit);
1214 return result;
1215 }
1216
1217 }