1 package org.djunits.unit;
2
3 import static org.djunits.unit.unitsystem.UnitSystem.IMPERIAL;
4 import static org.djunits.unit.unitsystem.UnitSystem.OTHER;
5 import static org.djunits.unit.unitsystem.UnitSystem.SI_BASE;
6 import static org.djunits.unit.unitsystem.UnitSystem.SI_DERIVED;
7
8 import org.djunits.unit.unitsystem.UnitSystem;
9
10
11
12
13
14
15
16
17
18
19
20 public class TemperatureUnit extends LinearUnit<TemperatureUnit>
21 {
22
23 private static final long serialVersionUID = 20140605L;
24
25
26 public static final TemperatureUnit SI;
27
28
29 public static final TemperatureUnit KELVIN;
30
31
32 public static final TemperatureUnit DEGREE_CELSIUS;
33
34
35 public static final TemperatureUnit DEGREE_FAHRENHEIT;
36
37
38 public static final TemperatureUnit DEGREE_RANKINE;
39
40
41 public static final TemperatureUnit DEGREE_REAUMUR;
42
43 static
44 {
45 SI = new TemperatureUnit("TemperatureUnit.K", SI_BASE);
46 KELVIN = SI;
47 DEGREE_CELSIUS = new TemperatureUnit("TemperatureUnit.dgC", SI_DERIVED, KELVIN, 1.0);
48 DEGREE_FAHRENHEIT = new TemperatureUnit("TemperatureUnit.dgF", IMPERIAL, KELVIN, 5.0 / 9.0);
49 DEGREE_RANKINE = new TemperatureUnit("TemperatureUnit.dgR", OTHER, KELVIN, 5.0 / 9.0);
50 DEGREE_REAUMUR = new TemperatureUnit("TemperatureUnit.dgRe", OTHER, KELVIN, 4.0 / 5.0);
51 }
52
53
54
55
56
57
58 private TemperatureUnit(final String abbreviationKey, final UnitSystem unitSystem)
59 {
60 super(abbreviationKey, unitSystem);
61 }
62
63
64
65
66
67
68
69
70 private TemperatureUnit(final String abbreviationKey, final UnitSystem unitSystem, final TemperatureUnit referenceUnit,
71 final double scaleFactorToStandardUnit)
72 {
73 super(abbreviationKey, unitSystem, referenceUnit, scaleFactorToStandardUnit);
74 }
75
76
77
78
79
80
81
82
83
84
85 public TemperatureUnit(final String name, final String abbreviation, final UnitSystem unitSystem,
86 final TemperatureUnit referenceUnit, final double scaleFactorToStandardUnit, final double offsetToKelvin)
87 {
88 super(name, abbreviation, unitSystem, referenceUnit, scaleFactorToStandardUnit);
89 }
90
91
92 @Override
93 public final TemperatureUnit getStandardUnit()
94 {
95 return KELVIN;
96 }
97
98
99 @Override
100 public final String getSICoefficientsString()
101 {
102 return "K";
103 }
104
105 }