1   package org.djutils.serialization;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import org.djunits.unit.AbsoluteTemperatureUnit;
7   import org.djunits.unit.AbsorbedDoseUnit;
8   import org.djunits.unit.AccelerationUnit;
9   import org.djunits.unit.AmountOfSubstanceUnit;
10  import org.djunits.unit.AngleUnit;
11  import org.djunits.unit.AngularAccelerationUnit;
12  import org.djunits.unit.AngularVelocityUnit;
13  import org.djunits.unit.AreaUnit;
14  import org.djunits.unit.CatalyticActivityUnit;
15  import org.djunits.unit.DensityUnit;
16  import org.djunits.unit.DimensionlessUnit;
17  import org.djunits.unit.DirectionUnit;
18  import org.djunits.unit.DurationUnit;
19  import org.djunits.unit.ElectricalCapacitanceUnit;
20  import org.djunits.unit.ElectricalChargeUnit;
21  import org.djunits.unit.ElectricalConductanceUnit;
22  import org.djunits.unit.ElectricalCurrentUnit;
23  import org.djunits.unit.ElectricalInductanceUnit;
24  import org.djunits.unit.ElectricalPotentialUnit;
25  import org.djunits.unit.ElectricalResistanceUnit;
26  import org.djunits.unit.EnergyUnit;
27  import org.djunits.unit.EquivalentDoseUnit;
28  import org.djunits.unit.FlowMassUnit;
29  import org.djunits.unit.FlowVolumeUnit;
30  import org.djunits.unit.ForceUnit;
31  import org.djunits.unit.FrequencyUnit;
32  import org.djunits.unit.IlluminanceUnit;
33  import org.djunits.unit.LengthUnit;
34  import org.djunits.unit.LinearDensityUnit;
35  import org.djunits.unit.LuminousFluxUnit;
36  import org.djunits.unit.LuminousIntensityUnit;
37  import org.djunits.unit.MagneticFluxDensityUnit;
38  import org.djunits.unit.MagneticFluxUnit;
39  import org.djunits.unit.MassUnit;
40  import org.djunits.unit.MomentumUnit;
41  import org.djunits.unit.PositionUnit;
42  import org.djunits.unit.PowerUnit;
43  import org.djunits.unit.PressureUnit;
44  import org.djunits.unit.RadioActivityUnit;
45  import org.djunits.unit.SolidAngleUnit;
46  import org.djunits.unit.SpeedUnit;
47  import org.djunits.unit.TemperatureUnit;
48  import org.djunits.unit.TimeUnit;
49  import org.djunits.unit.TorqueUnit;
50  import org.djunits.unit.Unit;
51  import org.djunits.unit.VolumeUnit;
52  import org.djutils.exceptions.Throw;
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  public class UnitType
63  {
64      
65      private static Map<QuantityType, Map<Integer, UnitType>> codeDisplayTypeMap = new HashMap<>();
66  
67      
68      private static Map<Unit<?>, UnitType> djunitsDisplayTypeMap = new HashMap<>();
69  
70      
71      private final int code;
72  
73      
74      private final QuantityType unitType;
75  
76      
77      private final Unit<?> djunitsType;
78  
79      
80      private final String name;
81  
82      
83      private final String abbreviation;
84  
85      
86  
87      
88      public static final UnitType DIMENSIONLESS_SI =
89              new UnitType(QuantityType.DIMENSIONLESS, 0, DimensionlessUnit.SI, "SI", "[]");
90  
91      
92  
93      
94      public static final UnitType ACCELERATION_METER_PER_SECOND_2 =
95              new UnitType(QuantityType.ACCELERATION, 0, AccelerationUnit.METER_PER_SECOND_2, "METER_PER_SECOND_2", "m/s2");
96  
97      
98      public static final UnitType ACCELERATION_KM_PER_HOUR_2 =
99              new UnitType(QuantityType.ACCELERATION, 1, AccelerationUnit.KM_PER_HOUR_2, "KM_PER_HOUR_2", "km/h2");
100 
101     
102     public static final UnitType ACCELERATION_INCH_PER_SECOND_2 =
103             new UnitType(QuantityType.ACCELERATION, 2, AccelerationUnit.INCH_PER_SECOND_2, "INCH_PER_SECOND_2", "in/s2");
104 
105     
106     public static final UnitType ACCELERATION_FOOT_PER_SECOND_2 =
107             new UnitType(QuantityType.ACCELERATION, 3, AccelerationUnit.FOOT_PER_SECOND_2, "FOOT_PER_SECOND_2", "ft/s2");
108 
109     
110     public static final UnitType ACCELERATION_MILE_PER_HOUR_2 =
111             new UnitType(QuantityType.ACCELERATION, 4, AccelerationUnit.MILE_PER_HOUR_2, "MILE_PER_HOUR_2", "mi/h2");
112 
113     
114     public static final UnitType ACCELERATION_MILE_PER_HOUR_PER_SECOND = new UnitType(QuantityType.ACCELERATION, 5,
115             AccelerationUnit.MILE_PER_HOUR_PER_SECOND, "MILE_PER_HOUR_PER_SECOND", "mi/h/s");
116 
117     
118     public static final UnitType ACCELERATION_KNOT_PER_SECOND =
119             new UnitType(QuantityType.ACCELERATION, 6, AccelerationUnit.KNOT_PER_SECOND, "KNOT_PER_SECOND", "kt/s");
120 
121     
122     public static final UnitType ACCELERATION_GAL =
123             new UnitType(QuantityType.ACCELERATION, 7, AccelerationUnit.GAL, "GAL", "gal");
124 
125     
126     public static final UnitType ACCELERATION_STANDARD_GRAVITY =
127             new UnitType(QuantityType.ACCELERATION, 8, AccelerationUnit.STANDARD_GRAVITY, "STANDARD_GRAVITY", "g");
128 
129     
130     public static final UnitType ACCELERATION_MILE_PER_SECOND_2 =
131             new UnitType(QuantityType.ACCELERATION, 9, AccelerationUnit.MILE_PER_SECOND_2, "MILE_PER_SECOND_2", "mi/s2");
132 
133     
134 
135     
136     public static final UnitType SOLIDANGLE_STERADIAN =
137             new UnitType(QuantityType.SOLIDANGLE, 0, SolidAngleUnit.STERADIAN, "STERADIAN", "sr");
138 
139     
140     public static final UnitType SOLIDANGLE_SQUARE_DEGREE =
141             new UnitType(QuantityType.SOLIDANGLE, 1, SolidAngleUnit.SQUARE_DEGREE, "SQUARE_DEGREE", "sq.deg");
142 
143     
144 
145     
146     public static final UnitType ANGLE_RADIAN = new UnitType(QuantityType.ANGLE, 0, AngleUnit.RADIAN, "RADIAN", "rad");
147 
148     
149     public static final UnitType ANGLE_ARCMINUTE =
150             new UnitType(QuantityType.ANGLE, 1, AngleUnit.ARCMINUTE, "ARCMINUTE", "arcmin");
151 
152     
153     public static final UnitType ANGLE_ARCSECOND =
154             new UnitType(QuantityType.ANGLE, 2, AngleUnit.ARCSECOND, "ARCSECOND", "arcsec");
155 
156     
157     public static final UnitType ANGLE_CENTESIMAL_ARCMINUTE =
158             new UnitType(QuantityType.ANGLE, 3, AngleUnit.CENTESIMAL_ARCMINUTE, "CENTESIMAL_ARCMINUTE", "centesimal_arcmin");
159 
160     
161     public static final UnitType ANGLE_CENTESIMAL_ARCSECOND =
162             new UnitType(QuantityType.ANGLE, 4, AngleUnit.CENTESIMAL_ARCSECOND, "CENTESIMAL_ARCSECOND", "centesimal_arcsec");
163 
164     
165     public static final UnitType ANGLE_DEGREE = new UnitType(QuantityType.ANGLE, 5, AngleUnit.DEGREE, "DEGREE", "deg");
166 
167     
168     public static final UnitType ANGLE_GRAD = new UnitType(QuantityType.ANGLE, 6, AngleUnit.GRAD, "GRAD", "grad");
169 
170     
171     public static final UnitType ANGLE_PERCENT = new UnitType(QuantityType.ANGLE, 7, AngleUnit.PERCENT, "PERCENT", "%");
172 
173     
174 
175     
176     public static final UnitType DIRECTION_NORTH_RADIAN =
177             new UnitType(QuantityType.DIRECTION, 0, DirectionUnit.NORTH_RADIAN, "NORTH_RADIAN", "rad(N)");
178 
179     
180     public static final UnitType DIRECTION_NORTH_DEGREE =
181             new UnitType(QuantityType.DIRECTION, 1, DirectionUnit.NORTH_DEGREE, "NORTH_DEGREE", "deg(N)");
182 
183     
184     public static final UnitType DIRECTION_EAST_RADIAN =
185             new UnitType(QuantityType.DIRECTION, 2, DirectionUnit.EAST_RADIAN, "EAST_RADIAN", "rad(E)");
186 
187     
188     public static final UnitType DIRECTION_EAST_DEGREE =
189             new UnitType(QuantityType.DIRECTION, 3, DirectionUnit.EAST_DEGREE, "EAST_DEGREE", "deg(E)");
190 
191     
192 
193     
194     public static final UnitType AREA_SQUARE_METER =
195             new UnitType(QuantityType.AREA, 0, AreaUnit.SQUARE_METER, "SQUARE_METER", "m2");
196 
197     
198     public static final UnitType AREA_SQUARE_ATTOMETER =
199             new UnitType(QuantityType.AREA, 1, AreaUnit.BASE.of("am^2"), "SQUARE_ATTOMETER", "am2");
200 
201     
202     public static final UnitType AREA_SQUARE_FEMTOMETER =
203             new UnitType(QuantityType.AREA, 2, AreaUnit.BASE.of("fm^2"), "SQUARE_FEMTOMETER", "fm2");
204 
205     
206     public static final UnitType AREA_SQUARE_PICOMETER =
207             new UnitType(QuantityType.AREA, 3, AreaUnit.BASE.of("pm^2"), "SQUARE_PICOMETER", "pm2");
208 
209     
210     public static final UnitType AREA_SQUARE_NANOMETER =
211             new UnitType(QuantityType.AREA, 4, AreaUnit.BASE.of("nm^2"), "SQUARE_NANOMETER", "nm2");
212 
213     
214     public static final UnitType AREA_SQUARE_MICROMETER =
215             new UnitType(QuantityType.AREA, 5, AreaUnit.BASE.of("μm^2"), "SQUARE_MICROMETER", "μm2");
216 
217     
218     public static final UnitType AREA_SQUARE_MILLIMETER =
219             new UnitType(QuantityType.AREA, 6, AreaUnit.SQUARE_MILLIMETER, "SQUARE_MILLIMETER", "mm2");
220 
221     
222     public static final UnitType AREA_SQUARE_CENTIMETER =
223             new UnitType(QuantityType.AREA, 7, AreaUnit.SQUARE_CENTIMETER, "SQUARE_CENTIMETER", "cm2");
224 
225     
226     public static final UnitType AREA_SQUARE_DECIMETER =
227             new UnitType(QuantityType.AREA, 8, AreaUnit.SQUARE_DECIMETER, "SQUARE_DECIMETER", "dm2");
228 
229     
230     public static final UnitType AREA_SQUARE_DEKAMETER =
231             new UnitType(QuantityType.AREA, 9, AreaUnit.BASE.of("dam^2"), "SQUARE_DEKAMETER", "dam2");
232 
233     
234     public static final UnitType AREA_SQUARE_HECTOMETER =
235             new UnitType(QuantityType.AREA, 10, AreaUnit.SQUARE_HECTOMETER, "SQUARE_HECTOMETER", "hm2");
236 
237     
238     public static final UnitType AREA_SQUARE_KILOMETER =
239             new UnitType(QuantityType.AREA, 11, AreaUnit.SQUARE_KILOMETER, "SQUARE_KILOMETER", "km2");
240 
241     
242     public static final UnitType AREA_SQUARE_MEGAMETER =
243             new UnitType(QuantityType.AREA, 12, AreaUnit.BASE.of("Mm^2"), "SQUARE_MEGAMETER", "Mm2");
244 
245     
246     public static final UnitType AREA_SQUARE_INCH =
247             new UnitType(QuantityType.AREA, 13, AreaUnit.SQUARE_INCH, "SQUARE_INCH", "in2");
248 
249     
250     public static final UnitType AREA_SQUARE_FOOT =
251             new UnitType(QuantityType.AREA, 14, AreaUnit.SQUARE_FOOT, "SQUARE_FOOT", "ft2");
252 
253     
254     public static final UnitType AREA_SQUARE_YARD =
255             new UnitType(QuantityType.AREA, 15, AreaUnit.SQUARE_YARD, "SQUARE_YARD", "yd2");
256 
257     
258     public static final UnitType AREA_SQUARE_MILE =
259             new UnitType(QuantityType.AREA, 16, AreaUnit.SQUARE_MILE, "SQUARE_MILE", "mi2");
260 
261     
262     public static final UnitType AREA_SQUARE_NAUTICAL_MILE =
263             new UnitType(QuantityType.AREA, 17, AreaUnit.SQUARE_NAUTICAL_MILE, "SQUARE_NAUTICAL_MILE", "NM2");
264 
265     
266     public static final UnitType AREA_ACRE = new UnitType(QuantityType.AREA, 18, AreaUnit.ACRE, "ACRE", "acre");
267 
268     
269     public static final UnitType AREA_ARE = new UnitType(QuantityType.AREA, 19, AreaUnit.ARE, "ARE", "a");
270 
271     
272     public static final UnitType AREA_CENTIARE = new UnitType(QuantityType.AREA, 20, AreaUnit.CENTIARE, "CENTIARE", "ca");
273 
274     
275     public static final UnitType AREA_HECTARE = new UnitType(QuantityType.AREA, 21, AreaUnit.HECTARE, "HECTARE", "ha");
276 
277     
278 
279     
280     public static final UnitType DENSITY_KG_PER_METER_3 =
281             new UnitType(QuantityType.DENSITY, 0, DensityUnit.KG_PER_METER_3, "KG_PER_METER_3", "kg/m3");
282 
283     
284     public static final UnitType DENSITY_GRAM_PER_CENTIMETER_3 =
285             new UnitType(QuantityType.DENSITY, 1, DensityUnit.GRAM_PER_CENTIMETER_3, "GRAM_PER_CENTIMETER_3", "g/cm3");
286 
287     
288 
289     
290     public static final UnitType ELECTRICALCHARGE_COULOMB =
291             new UnitType(QuantityType.ELECTRICALCHARGE, 0, ElectricalChargeUnit.COULOMB, "COULOMB", "C");
292 
293     
294     public static final UnitType ELECTRICALCHARGE_PICOCOULOMB = new UnitType(QuantityType.ELECTRICALCHARGE, 1,
295             ElectricalChargeUnit.BASE.getUnitByAbbreviation("pC"), "PICOCOULOMB", "pC");
296 
297     
298     public static final UnitType ELECTRICALCHARGE_NANOCOULOMB = new UnitType(QuantityType.ELECTRICALCHARGE, 2,
299             ElectricalChargeUnit.BASE.getUnitByAbbreviation("nC"), "NANOCOULOMB", "nC");
300 
301     
302     public static final UnitType ELECTRICALCHARGE_MICROCOULOMB =
303             new UnitType(QuantityType.ELECTRICALCHARGE, 3, ElectricalChargeUnit.MICROCOULOMB, "MICROCOULOMB", "μC");
304 
305     
306     public static final UnitType ELECTRICALCHARGE_MILLICOULOMB =
307             new UnitType(QuantityType.ELECTRICALCHARGE, 4, ElectricalChargeUnit.MILLICOULOMB, "MILLICOULOMB", "mC");
308 
309     
310     public static final UnitType ELECTRICALCHARGE_ABCOULOMB =
311             new UnitType(QuantityType.ELECTRICALCHARGE, 5, ElectricalChargeUnit.ABCOULOMB, "ABCOULOMB", "abC");
312 
313     
314     public static final UnitType ELECTRICALCHARGE_ATOMIC_UNIT =
315             new UnitType(QuantityType.ELECTRICALCHARGE, 6, ElectricalChargeUnit.ATOMIC_UNIT, "ATOMIC_UNIT", "au");
316 
317     
318     public static final UnitType ELECTRICALCHARGE_EMU =
319             new UnitType(QuantityType.ELECTRICALCHARGE, 7, ElectricalChargeUnit.EMU, "EMU", "emu");
320 
321     
322     public static final UnitType ELECTRICALCHARGE_ESU =
323             new UnitType(QuantityType.ELECTRICALCHARGE, 8, ElectricalChargeUnit.ESU, "ESU", "esu");
324 
325     
326     public static final UnitType ELECTRICALCHARGE_FARADAY =
327             new UnitType(QuantityType.ELECTRICALCHARGE, 9, ElectricalChargeUnit.FARADAY, "FARADAY", "F");
328 
329     
330     public static final UnitType ELECTRICALCHARGE_FRANKLIN =
331             new UnitType(QuantityType.ELECTRICALCHARGE, 10, ElectricalChargeUnit.FRANKLIN, "FRANKLIN  ", "Fr");
332 
333     
334     public static final UnitType ELECTRICALCHARGE_STATCOULOMB =
335             new UnitType(QuantityType.ELECTRICALCHARGE, 11, ElectricalChargeUnit.STATCOULOMB, "STATCOULOMB", "statC");
336 
337     
338     public static final UnitType ELECTRICALCHARGE_MILLIAMPERE_HOUR =
339             new UnitType(QuantityType.ELECTRICALCHARGE, 12, ElectricalChargeUnit.MILLIAMPERE_HOUR, "MILLIAMPERE_HOUR", "mAh");
340 
341     
342     public static final UnitType ELECTRICALCHARGE_AMPERE_HOUR =
343             new UnitType(QuantityType.ELECTRICALCHARGE, 13, ElectricalChargeUnit.AMPERE_HOUR, "AMPERE_HOUR", "Ah");
344 
345     
346     public static final UnitType ELECTRICALCHARGE_KILOAMPERE_HOUR =
347             new UnitType(QuantityType.ELECTRICALCHARGE, 14, ElectricalChargeUnit.KILOAMPERE_HOUR, "KILOAMPERE_HOUR", "kAh");
348 
349     
350     public static final UnitType ELECTRICALCHARGE_MEGAAMPERE_HOUR =
351             new UnitType(QuantityType.ELECTRICALCHARGE, 15, ElectricalChargeUnit.MEGAAMPERE_HOUR, "MEGAAMPERE_HOUR", "MAh");
352 
353     
354     public static final UnitType ELECTRICALCHARGE_MILLIAMPERE_SECOND = new UnitType(QuantityType.ELECTRICALCHARGE, 16,
355             ElectricalChargeUnit.MILLIAMPERE_SECOND, "MILLIAMPERE_SECOND", "mAs");
356 
357     
358 
359     
360     public static final UnitType ELECTRICALCURRENT_AMPERE =
361             new UnitType(QuantityType.ELECTRICALCURRENT, 0, ElectricalCurrentUnit.AMPERE, "AMPERE", "A");
362 
363     
364     public static final UnitType ELECTRICALCURRENT_NANOAMPERE = new UnitType(QuantityType.ELECTRICALCURRENT, 1,
365             ElectricalCurrentUnit.BASE.getUnitByAbbreviation("nA"), "NANOAMPERE", "nA");
366 
367     
368     public static final UnitType ELECTRICALCURRENT_MICROAMPERE =
369             new UnitType(QuantityType.ELECTRICALCURRENT, 2, ElectricalCurrentUnit.MICROAMPERE, "MICROAMPERE", "μA");
370 
371     
372     public static final UnitType ELECTRICALCURRENT_MILLIAMPERE =
373             new UnitType(QuantityType.ELECTRICALCURRENT, 3, ElectricalCurrentUnit.MILLIAMPERE, "MILLIAMPERE", "mA");
374 
375     
376     public static final UnitType ELECTRICALCURRENT_KILOAMPERE =
377             new UnitType(QuantityType.ELECTRICALCURRENT, 4, ElectricalCurrentUnit.KILOAMPERE, "KILOAMPERE", "kA");
378 
379     
380     public static final UnitType ELECTRICALCURRENT_MEGAAMPERE =
381             new UnitType(QuantityType.ELECTRICALCURRENT, 5, ElectricalCurrentUnit.MEGAAMPERE, "MEGAAMPERE", "MA");
382 
383     
384     public static final UnitType ELECTRICALCURRENT_ABAMPERE =
385             new UnitType(QuantityType.ELECTRICALCURRENT, 6, ElectricalCurrentUnit.ABAMPERE, "ABAMPERE", "abA");
386 
387     
388     public static final UnitType ELECTRICALCURRENT_STATAMPERE =
389             new UnitType(QuantityType.ELECTRICALCURRENT, 7, ElectricalCurrentUnit.STATAMPERE, "STATAMPERE", "statA");
390 
391     
392 
393     
394     public static final UnitType ELECTRICALPOTENTIAL_VOLT =
395             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 0, ElectricalPotentialUnit.VOLT, "VOLT", "V");
396 
397     
398     public static final UnitType ELECTRICALPOTENTIAL_NANOVOLT = new UnitType(QuantityType.ELECTRICALPOTENTIAL, 1,
399             ElectricalPotentialUnit.BASE.getUnitByAbbreviation("nV"), "NANOVOLT", "nV");
400 
401     
402     public static final UnitType ELECTRICALPOTENTIAL_MICROVOLT =
403             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 2, ElectricalPotentialUnit.MICROVOLT, "MICROVOLT", "μV");
404 
405     
406     public static final UnitType ELECTRICALPOTENTIAL_MILLIVOLT =
407             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 3, ElectricalPotentialUnit.MILLIVOLT, "MILLIVOLT", "mV");
408 
409     
410     public static final UnitType ELECTRICALPOTENTIAL_KILOVOLT =
411             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 4, ElectricalPotentialUnit.KILOVOLT, "KILOVOLT", "kV");
412 
413     
414     public static final UnitType ELECTRICALPOTENTIAL_MEGAVOLT =
415             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 5, ElectricalPotentialUnit.MEGAVOLT, "MEGAVOLT", "MV");
416 
417     
418     public static final UnitType ELECTRICALPOTENTIAL_GIGAVOLT =
419             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 6, ElectricalPotentialUnit.GIGAVOLT, "GIGAVOLT", "GV");
420 
421     
422     public static final UnitType ELECTRICALPOTENTIAL_ABVOLT =
423             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 7, ElectricalPotentialUnit.ABVOLT, "ABVOLT", "abV");
424 
425     
426     public static final UnitType ELECTRICALPOTENTIAL_STATVOLT =
427             new UnitType(QuantityType.ELECTRICALPOTENTIAL, 8, ElectricalPotentialUnit.STATVOLT, "STATVOLT", "statV");
428 
429     
430 
431     
432     public static final UnitType ELECTRICALRESISTANCE_OHM =
433             new UnitType(QuantityType.ELECTRICALRESISTANCE, 0, ElectricalResistanceUnit.OHM, "OHM", "Ω");
434 
435     
436     public static final UnitType ELECTRICALRESISTANCE_NANOOHM = new UnitType(QuantityType.ELECTRICALRESISTANCE, 1,
437             ElectricalResistanceUnit.BASE.getUnitByAbbreviation("nohm"), "NANOOHM", "nΩ");
438 
439     
440     public static final UnitType ELECTRICALRESISTANCE_MICROOHM =
441             new UnitType(QuantityType.ELECTRICALRESISTANCE, 2, ElectricalResistanceUnit.MICROOHM, "MICROOHM", "μΩ");
442 
443     
444     public static final UnitType ELECTRICALRESISTANCE_MILLIOHM =
445             new UnitType(QuantityType.ELECTRICALRESISTANCE, 3, ElectricalResistanceUnit.MILLIOHM, "MILLIOHM", "mΩ");
446 
447     
448     public static final UnitType ELECTRICALRESISTANCE_KILOOHM =
449             new UnitType(QuantityType.ELECTRICALRESISTANCE, 4, ElectricalResistanceUnit.KILOOHM, "KILOOHM", "kΩ");
450 
451     
452     public static final UnitType ELECTRICALRESISTANCE_MEGAOHM =
453             new UnitType(QuantityType.ELECTRICALRESISTANCE, 5, ElectricalResistanceUnit.MEGAOHM, "MEGAOHM", "MΩ");
454 
455     
456     public static final UnitType ELECTRICALRESISTANCE_GIGAOHM =
457             new UnitType(QuantityType.ELECTRICALRESISTANCE, 6, ElectricalResistanceUnit.GIGAOHM, "GIGAOHM", "GΩ");
458 
459     
460     public static final UnitType ELECTRICALRESISTANCE_ABOHM =
461             new UnitType(QuantityType.ELECTRICALRESISTANCE, 7, ElectricalResistanceUnit.ABOHM, "ABOHM", "abΩ");
462 
463     
464     public static final UnitType ELECTRICALRESISTANCE_STATOHM =
465             new UnitType(QuantityType.ELECTRICALRESISTANCE, 8, ElectricalResistanceUnit.STATOHM, "STATOHM", "statΩ");
466 
467     
468 
469     
470     public static final UnitType ENERGY_JOULE = new UnitType(QuantityType.ENERGY, 0, EnergyUnit.JOULE, "JOULE", "J");
471 
472     
473     public static final UnitType ENERGY_PICOJOULE =
474             new UnitType(QuantityType.ENERGY, 1, EnergyUnit.BASE.getUnitByAbbreviation("pJ"), "PICOJOULE", "pJ");
475 
476     
477     public static final UnitType ENERGY_NANOJOULE =
478             new UnitType(QuantityType.ENERGY, 2, EnergyUnit.BASE.getUnitByAbbreviation("nJ"), "NANOJOULE", "nJ");
479 
480     
481     public static final UnitType ENERGY_MICROJOULE =
482             new UnitType(QuantityType.ENERGY, 3, EnergyUnit.MICROJOULE, "MICROJOULE", "μJ");
483 
484     
485     public static final UnitType ENERGY_MILLIJOULE =
486             new UnitType(QuantityType.ENERGY, 4, EnergyUnit.MILLIJOULE, "MILLIJOULE", "mJ");
487 
488     
489     public static final UnitType ENERGY_KILOJOULE =
490             new UnitType(QuantityType.ENERGY, 5, EnergyUnit.KILOJOULE, "KILOJOULE", "kJ");
491 
492     
493     public static final UnitType ENERGY_MEGAJOULE =
494             new UnitType(QuantityType.ENERGY, 6, EnergyUnit.MEGAJOULE, "MEGAJOULE", "MJ");
495 
496     
497     public static final UnitType ENERGY_GIGAJOULE =
498             new UnitType(QuantityType.ENERGY, 7, EnergyUnit.GIGAJOULE, "GIGAJOULE", "GJ");
499 
500     
501     public static final UnitType ENERGY_TERAJOULE =
502             new UnitType(QuantityType.ENERGY, 8, EnergyUnit.TERAJOULE, "TERAJOULE", "TJ");
503 
504     
505     public static final UnitType ENERGY_PETAJOULE =
506             new UnitType(QuantityType.ENERGY, 9, EnergyUnit.PETAJOULE, "PETAJOULE", "PJ");
507 
508     
509     public static final UnitType ENERGY_ELECTRONVOLT =
510             new UnitType(QuantityType.ENERGY, 10, EnergyUnit.ELECTRONVOLT, "ELECTRONVOLT", "eV");
511 
512     
513     public static final UnitType ENERGY_MICROELECTRONVOLT =
514             new UnitType(QuantityType.ENERGY, 11, EnergyUnit.MICROELECTRONVOLT, "MICROELECTRONVOLT", "μeV");
515 
516     
517     public static final UnitType ENERGY_MILLIELECTRONVOLT =
518             new UnitType(QuantityType.ENERGY, 12, EnergyUnit.MILLIELECTRONVOLT, "MILLIELECTRONVOLT", "meV");
519 
520     
521     public static final UnitType ENERGY_KILOELECTRONVOLT =
522             new UnitType(QuantityType.ENERGY, 13, EnergyUnit.KILOELECTRONVOLT, "KILOELECTRONVOLT", "keV");
523 
524     
525     public static final UnitType ENERGY_MEGAELECTRONVOLT =
526             new UnitType(QuantityType.ENERGY, 14, EnergyUnit.MEGAELECTRONVOLT, "MEGAELECTRONVOLT", "MeV");
527 
528     
529     public static final UnitType ENERGY_GIGAELECTRONVOLT =
530             new UnitType(QuantityType.ENERGY, 15, EnergyUnit.GIGAELECTRONVOLT, "GIGAELECTRONVOLT", "GeV");
531 
532     
533     public static final UnitType ENERGY_TERAELECTRONVOLT =
534             new UnitType(QuantityType.ENERGY, 16, EnergyUnit.BASE.getUnitByAbbreviation("TeV"), "TERAELECTRONVOLT", "TeV");
535 
536     
537     public static final UnitType ENERGY_PETAELECTRONVOLT =
538             new UnitType(QuantityType.ENERGY, 17, EnergyUnit.BASE.getUnitByAbbreviation("PeV"), "PETAELECTRONVOLT", "PeV");
539 
540     
541     public static final UnitType ENERGY_EXAELECTRONVOLT =
542             new UnitType(QuantityType.ENERGY, 18, EnergyUnit.BASE.getUnitByAbbreviation("EeV"), "EXAELECTRONVOLT", "EeV");
543 
544     
545     public static final UnitType ENERGY_WATT_HOUR =
546             new UnitType(QuantityType.ENERGY, 19, EnergyUnit.WATT_HOUR, "WATT_HOUR", "Wh");
547 
548     
549     public static final UnitType ENERGY_FEMTOWATT_HOUR =
550             new UnitType(QuantityType.ENERGY, 20, EnergyUnit.BASE.getUnitByAbbreviation("fWh"), "FEMTOWATT_HOUR", "fWh");
551 
552     
553     public static final UnitType ENERGY_PICOWATT_HOUR =
554             new UnitType(QuantityType.ENERGY, 21, EnergyUnit.BASE.getUnitByAbbreviation("pWh"), "PICOWATT_HOUR", "pWh");
555 
556     
557     public static final UnitType ENERGY_NANOWATT_HOUR =
558             new UnitType(QuantityType.ENERGY, 22, EnergyUnit.BASE.getUnitByAbbreviation("nWh"), "NANOWATT_HOUR", "nWh");
559 
560     
561     public static final UnitType ENERGY_MICROWATT_HOUR =
562             new UnitType(QuantityType.ENERGY, 23, EnergyUnit.MICROWATT_HOUR, "MICROWATT_HOUR", "μWh");
563 
564     
565     public static final UnitType ENERGY_MILLIWATT_HOUR =
566             new UnitType(QuantityType.ENERGY, 24, EnergyUnit.MILLIWATT_HOUR, "MILLIWATT_HOUR", "mWh");
567 
568     
569     public static final UnitType ENERGY_KILOWATT_HOUR =
570             new UnitType(QuantityType.ENERGY, 25, EnergyUnit.KILOWATT_HOUR, "KILOWATT_HOUR", "kWh");
571 
572     
573     public static final UnitType ENERGY_MEGAWATT_HOUR =
574             new UnitType(QuantityType.ENERGY, 26, EnergyUnit.MEGAWATT_HOUR, "MEGAWATT_HOUR", "MWh");
575 
576     
577     public static final UnitType ENERGY_GIGAWATT_HOUR =
578             new UnitType(QuantityType.ENERGY, 27, EnergyUnit.GIGAWATT_HOUR, "GIGAWATT_HOUR", "GWh");
579 
580     
581     public static final UnitType ENERGY_TERAWATT_HOUR =
582             new UnitType(QuantityType.ENERGY, 28, EnergyUnit.TERAWATT_HOUR, "TERAWATT_HOUR", "TWh");
583 
584     
585     public static final UnitType ENERGY_PETAWATT_HOUR =
586             new UnitType(QuantityType.ENERGY, 29, EnergyUnit.PETAWATT_HOUR, "PETAWATT_HOUR", "PWh");
587 
588     
589     public static final UnitType ENERGY_CALORIE = new UnitType(QuantityType.ENERGY, 30, EnergyUnit.CALORIE, "CALORIE", "cal");
590 
591     
592     public static final UnitType ENERGY_KILOCALORIE =
593             new UnitType(QuantityType.ENERGY, 31, EnergyUnit.KILOCALORIE, "KILOCALORIE", "kcal");
594 
595     
596     public static final UnitType ENERGY_CALORIE_IT =
597             new UnitType(QuantityType.ENERGY, 32, EnergyUnit.CALORIE_IT, "CALORIE_IT", "cal(IT)");
598 
599     
600     public static final UnitType ENERGY_INCH_POUND_FORCE =
601             new UnitType(QuantityType.ENERGY, 33, EnergyUnit.INCH_POUND_FORCE, "INCH_POUND_FORCE", "in lbf");
602 
603     
604     public static final UnitType ENERGY_FOOT_POUND_FORCE =
605             new UnitType(QuantityType.ENERGY, 34, EnergyUnit.FOOT_POUND_FORCE, "FOOT_POUND_FORCE", "ft lbf");
606 
607     
608     public static final UnitType ENERGY_ERG = new UnitType(QuantityType.ENERGY, 35, EnergyUnit.ERG, "ERG", "erg");
609 
610     
611     public static final UnitType ENERGY_BTU_ISO =
612             new UnitType(QuantityType.ENERGY, 36, EnergyUnit.BTU_ISO, "BTU_ISO", "BTU(ISO)");
613 
614     
615     public static final UnitType ENERGY_BTU_IT = new UnitType(QuantityType.ENERGY, 37, EnergyUnit.BTU_IT, "BTU_IT", "BTU(IT)");
616 
617     
618     public static final UnitType ENERGY_STHENE_METER =
619             new UnitType(QuantityType.ENERGY, 38, EnergyUnit.STHENE_METER, "STHENE_METER", "sth.m");
620 
621     
622 
623     
624     public static final UnitType FLOWMASS_KG_PER_SECOND =
625             new UnitType(QuantityType.FLOWMASS, 0, FlowMassUnit.KILOGRAM_PER_SECOND, "KG_PER_SECOND", "kg/s");
626 
627     
628     public static final UnitType FLOWMASS_POUND_PER_SECOND =
629             new UnitType(QuantityType.FLOWMASS, 1, FlowMassUnit.POUND_PER_SECOND, "POUND_PER_SECOND", "lb/s");
630 
631     
632 
633     
634     public static final UnitType FLOWVOLUME_CUBIC_METER_PER_SECOND =
635             new UnitType(QuantityType.FLOWVOLUME, 0, FlowVolumeUnit.CUBIC_METER_PER_SECOND, "CUBIC_METER_PER_SECOND", "m3/s");
636 
637     
638     public static final UnitType FLOWVOLUME_CUBIC_METER_PER_MINUTE =
639             new UnitType(QuantityType.FLOWVOLUME, 1, FlowVolumeUnit.CUBIC_METER_PER_MINUTE, "CUBIC_METER_PER_MINUTE", "m3/min");
640 
641     
642     public static final UnitType FLOWVOLUME_CUBIC_METER_PER_HOUR =
643             new UnitType(QuantityType.FLOWVOLUME, 2, FlowVolumeUnit.CUBIC_METER_PER_HOUR, "CUBIC_METER_PER_HOUR", "m3/h");
644 
645     
646     public static final UnitType FLOWVOLUME_CUBIC_METER_PER_DAY =
647             new UnitType(QuantityType.FLOWVOLUME, 3, FlowVolumeUnit.CUBIC_METER_PER_DAY, "CUBIC_METER_PER_DAY", "m3/day");
648 
649     
650     public static final UnitType FLOWVOLUME_CUBIC_INCH_PER_SECOND =
651             new UnitType(QuantityType.FLOWVOLUME, 4, FlowVolumeUnit.CUBIC_INCH_PER_SECOND, "CUBIC_INCH_PER_SECOND", "in3/s");
652 
653     
654     public static final UnitType FLOWVOLUME_CUBIC_INCH_PER_MINUTE =
655             new UnitType(QuantityType.FLOWVOLUME, 5, FlowVolumeUnit.CUBIC_INCH_PER_MINUTE, "CUBIC_INCH_PER_MINUTE", "in3/min");
656 
657     
658     public static final UnitType FLOWVOLUME_CUBIC_FEET_PER_SECOND =
659             new UnitType(QuantityType.FLOWVOLUME, 6, FlowVolumeUnit.CUBIC_FEET_PER_SECOND, "CUBIC_FEET_PER_SECOND", "ft3/s");
660 
661     
662     public static final UnitType FLOWVOLUME_CUBIC_FEET_PER_MINUTE =
663             new UnitType(QuantityType.FLOWVOLUME, 7, FlowVolumeUnit.CUBIC_FEET_PER_MINUTE, "CUBIC_FEET_PER_MINUTE", "ft3/min");
664 
665     
666     public static final UnitType FLOWVOLUME_GALLON_PER_SECOND =
667             new UnitType(QuantityType.FLOWVOLUME, 8, FlowVolumeUnit.GALLON_US_PER_SECOND, "GALLON_PER_SECOND", "gal/s");
668 
669     
670     public static final UnitType FLOWVOLUME_GALLON_PER_MINUTE =
671             new UnitType(QuantityType.FLOWVOLUME, 9, FlowVolumeUnit.GALLON_US_PER_MINUTE, "GALLON_PER_MINUTE", "gal/min");
672 
673     
674     public static final UnitType FLOWVOLUME_GALLON_PER_HOUR =
675             new UnitType(QuantityType.FLOWVOLUME, 10, FlowVolumeUnit.GALLON_US_PER_HOUR, "GALLON_PER_HOUR", "gal/h");
676 
677     
678     public static final UnitType FLOWVOLUME_GALLON_PER_DAY =
679             new UnitType(QuantityType.FLOWVOLUME, 11, FlowVolumeUnit.GALLON_US_PER_DAY, "GALLON_PER_DAY", "gal/day");
680 
681     
682     public static final UnitType FLOWVOLUME_LITER_PER_SECOND =
683             new UnitType(QuantityType.FLOWVOLUME, 12, FlowVolumeUnit.LITER_PER_SECOND, "LITER_PER_SECOND", "l/s");
684 
685     
686     public static final UnitType FLOWVOLUME_LITER_PER_MINUTE =
687             new UnitType(QuantityType.FLOWVOLUME, 13, FlowVolumeUnit.LITER_PER_MINUTE, "LITER_PER_MINUTE", "l/min");
688 
689     
690     public static final UnitType FLOWVOLUME_LITER_PER_HOUR =
691             new UnitType(QuantityType.FLOWVOLUME, 14, FlowVolumeUnit.LITER_PER_HOUR, "LITER_PER_HOUR", "l/h");
692 
693     
694     public static final UnitType FLOWVOLUME_LITER_PER_DAY =
695             new UnitType(QuantityType.FLOWVOLUME, 15, FlowVolumeUnit.LITER_PER_DAY, "LITER_PER_DAY", "l/day");
696 
697     
698 
699     
700     public static final UnitType FORCE_NEWTON = new UnitType(QuantityType.FORCE, 0, ForceUnit.NEWTON, "NEWTON", "N");
701 
702     
703     public static final UnitType FORCE_KILOGRAM_FORCE =
704             new UnitType(QuantityType.FORCE, 1, ForceUnit.KILOGRAM_FORCE, "KILOGRAM_FORCE", "kgf");
705 
706     
707     public static final UnitType FORCE_OUNCE_FORCE =
708             new UnitType(QuantityType.FORCE, 2, ForceUnit.OUNCE_FORCE, "OUNCE_FORCE", "ozf");
709 
710     
711     public static final UnitType FORCE_POUND_FORCE =
712             new UnitType(QuantityType.FORCE, 3, ForceUnit.POUND_FORCE, "POUND_FORCE", "lbf");
713 
714     
715     public static final UnitType FORCE_TON_FORCE = new UnitType(QuantityType.FORCE, 4, ForceUnit.TON_FORCE, "TON_FORCE", "tnf");
716 
717     
718     public static final UnitType FORCE_DYNE = new UnitType(QuantityType.FORCE, 5, ForceUnit.DYNE, "DYNE", "dyne");
719 
720     
721     public static final UnitType FORCE_STHENE = new UnitType(QuantityType.FORCE, 6, ForceUnit.STHENE, "STHENE", "sth");
722 
723     
724 
725     
726     public static final UnitType FREQUENCY_HERTZ = new UnitType(QuantityType.FREQUENCY, 0, FrequencyUnit.HERTZ, "HERTZ", "Hz");
727 
728     
729     public static final UnitType FREQUENCY_KILOHERTZ =
730             new UnitType(QuantityType.FREQUENCY, 1, FrequencyUnit.KILOHERTZ, "KILOHERTZ", "kHz");
731 
732     
733     public static final UnitType FREQUENCY_MEGAHERTZ =
734             new UnitType(QuantityType.FREQUENCY, 2, FrequencyUnit.MEGAHERTZ, "MEGAHERTZ", "MHz");
735 
736     
737     public static final UnitType FREQUENCY_GIGAHERTZ =
738             new UnitType(QuantityType.FREQUENCY, 3, FrequencyUnit.GIGAHERTZ, "GIGAHERTZ", "GHz");
739 
740     
741     public static final UnitType FREQUENCY_TERAHERTZ =
742             new UnitType(QuantityType.FREQUENCY, 4, FrequencyUnit.TERAHERTZ, "TERAHERTZ", "THz");
743 
744     
745     public static final UnitType FREQUENCY_PER_SECOND =
746             new UnitType(QuantityType.FREQUENCY, 5, FrequencyUnit.PER_SECOND, "PER_SECOND", "1/s");
747 
748     
749     public static final UnitType FREQUENCY_PER_ATTOSECOND =
750             new UnitType(QuantityType.FREQUENCY, 6, FrequencyUnit.BASE.getUnitByAbbreviation("/as"), "PER_ATTOSECOND", "1/as");
751 
752     
753     public static final UnitType FREQUENCY_PER_FEMTOSECOND =
754             new UnitType(QuantityType.FREQUENCY, 7, FrequencyUnit.BASE.getUnitByAbbreviation("/fs"), "PER_FEMTOSECOND", "1/fs");
755 
756     
757     public static final UnitType FREQUENCY_PER_PICOSECOND =
758             new UnitType(QuantityType.FREQUENCY, 8, FrequencyUnit.BASE.getUnitByAbbreviation("/ps"), "PER_PICOSECOND", "1/ps");
759 
760     
761     public static final UnitType FREQUENCY_PER_NANOSECOND =
762             new UnitType(QuantityType.FREQUENCY, 9, FrequencyUnit.BASE.getUnitByAbbreviation("/ns"), "PER_NANOSECOND", "1/ns");
763 
764     
765     public static final UnitType FREQUENCY_PER_MICROSECOND =
766             new UnitType(QuantityType.FREQUENCY, 10, FrequencyUnit.PER_MICROSECOND, "PER_MICROSECOND", "1/μs");
767 
768     
769     public static final UnitType FREQUENCY_PER_MILLISECOND =
770             new UnitType(QuantityType.FREQUENCY, 11, FrequencyUnit.PER_MILLISECOND, "PER_MILLISECOND", "1/ms");
771 
772     
773     public static final UnitType FREQUENCY_PER_MINUTE =
774             new UnitType(QuantityType.FREQUENCY, 12, FrequencyUnit.PER_MINUTE, "PER_MINUTE", "1/min");
775 
776     
777     public static final UnitType FREQUENCY_PER_HOUR =
778             new UnitType(QuantityType.FREQUENCY, 13, FrequencyUnit.PER_HOUR, "PER_HOUR", "1/hr");
779 
780     
781     public static final UnitType FREQUENCY_PER_DAY =
782             new UnitType(QuantityType.FREQUENCY, 14, FrequencyUnit.PER_DAY, "PER_DAY", "1/day");
783 
784     
785     public static final UnitType FREQUENCY_PER_WEEK =
786             new UnitType(QuantityType.FREQUENCY, 15, FrequencyUnit.PER_WEEK, "PER_WEEK", "1/wk");
787 
788     
789     public static final UnitType FREQUENCY_RPM = new UnitType(QuantityType.FREQUENCY, 16, FrequencyUnit.RPM, "RPM", "rpm");
790 
791     
792 
793     
794     public static final UnitType LENGTH_METER = new UnitType(QuantityType.LENGTH, 0, LengthUnit.METER, "METER", "m");
795 
796     
797     public static final UnitType LENGTH_ATTOMETER =
798             new UnitType(QuantityType.LENGTH, 1, LengthUnit.BASE.getUnitByAbbreviation("am"), "ATTOMETER", "am");
799 
800     
801     public static final UnitType LENGTH_FEMTOMETER =
802             new UnitType(QuantityType.LENGTH, 2, LengthUnit.BASE.getUnitByAbbreviation("fm"), "FEMTOMETER", "fm");
803 
804     
805     public static final UnitType LENGTH_PICOMETER =
806             new UnitType(QuantityType.LENGTH, 3, LengthUnit.BASE.getUnitByAbbreviation("pm"), "PICOMETER", "pm");
807 
808     
809     public static final UnitType LENGTH_NANOMETER =
810             new UnitType(QuantityType.LENGTH, 4, LengthUnit.NANOMETER, "NANOMETER", "nm");
811 
812     
813     public static final UnitType LENGTH_MICROMETER =
814             new UnitType(QuantityType.LENGTH, 5, LengthUnit.MICROMETER, "MICROMETER", "μm");
815 
816     
817     public static final UnitType LENGTH_MILLIMETER =
818             new UnitType(QuantityType.LENGTH, 6, LengthUnit.MILLIMETER, "MILLIMETER", "mm");
819 
820     
821     public static final UnitType LENGTH_CENTIMETER =
822             new UnitType(QuantityType.LENGTH, 7, LengthUnit.CENTIMETER, "CENTIMETER", "cm");
823 
824     
825     public static final UnitType LENGTH_DECIMETER =
826             new UnitType(QuantityType.LENGTH, 8, LengthUnit.DECIMETER, "DECIMETER", "dm");
827 
828     
829     public static final UnitType LENGTH_DEKAMETER =
830             new UnitType(QuantityType.LENGTH, 9, LengthUnit.BASE.getUnitByAbbreviation("dam"), "DEKAMETER", "dam");
831 
832     
833     public static final UnitType LENGTH_HECTOMETER =
834             new UnitType(QuantityType.LENGTH, 10, LengthUnit.HECTOMETER, "HECTOMETER", "hm");
835 
836     
837     public static final UnitType LENGTH_KILOMETER =
838             new UnitType(QuantityType.LENGTH, 11, LengthUnit.KILOMETER, "KILOMETER", "km");
839 
840     
841     public static final UnitType LENGTH_MEGAMETER =
842             new UnitType(QuantityType.LENGTH, 12, LengthUnit.BASE.getUnitByAbbreviation("Mm"), "MEGAMETER", "Mm");
843 
844     
845     public static final UnitType LENGTH_INCH = new UnitType(QuantityType.LENGTH, 13, LengthUnit.INCH, "INCH", "in");
846 
847     
848     public static final UnitType LENGTH_FOOT = new UnitType(QuantityType.LENGTH, 14, LengthUnit.FOOT, "FOOT", "ft");
849 
850     
851     public static final UnitType LENGTH_YARD = new UnitType(QuantityType.LENGTH, 15, LengthUnit.YARD, "YARD", "yd");
852 
853     
854     public static final UnitType LENGTH_MILE = new UnitType(QuantityType.LENGTH, 16, LengthUnit.MILE, "MILE", "mi");
855 
856     
857     public static final UnitType LENGTH_NAUTICAL_MILE =
858             new UnitType(QuantityType.LENGTH, 17, LengthUnit.NAUTICAL_MILE, "NAUTICAL_MILE", "NM");
859 
860     
861     public static final UnitType LENGTH_ASTRONOMICAL_UNIT =
862             new UnitType(QuantityType.LENGTH, 18, LengthUnit.ASTRONOMICAL_UNIT, "ASTRONOMICAL_UNIT", "au");
863 
864     
865     public static final UnitType LENGTH_PARSEC = new UnitType(QuantityType.LENGTH, 19, LengthUnit.PARSEC, "PARSEC", "pc");
866 
867     
868     public static final UnitType LENGTH_LIGHTYEAR =
869             new UnitType(QuantityType.LENGTH, 20, LengthUnit.LIGHTYEAR, "LIGHTYEAR", "ly");
870 
871     
872     public static final UnitType LENGTH_ANGSTROM = new UnitType(QuantityType.LENGTH, 21, LengthUnit.ANGSTROM, "ANGSTROM", "Å");
873 
874     
875 
876     
877     public static final UnitType POSITION_METER = new UnitType(QuantityType.POSITION, 0, PositionUnit.METER, "METER", "m");
878 
879     
880     public static final UnitType POSITION_ATTOMETER =
881             new UnitType(QuantityType.POSITION, 1, PositionUnit.BASE.getUnitByAbbreviation("am"), "ATTOMETER", "am");
882 
883     
884     public static final UnitType POSITION_FEMTOMETER =
885             new UnitType(QuantityType.POSITION, 2, PositionUnit.BASE.getUnitByAbbreviation("fm"), "FEMTOMETER", "fm");
886 
887     
888     public static final UnitType POSITION_PICOMETER =
889             new UnitType(QuantityType.POSITION, 3, PositionUnit.BASE.getUnitByAbbreviation("pm"), "PICOMETER", "pm");
890 
891     
892     public static final UnitType POSITION_NANOMETER =
893             new UnitType(QuantityType.POSITION, 4, PositionUnit.NANOMETER, "NANOMETER", "nm");
894 
895     
896     public static final UnitType POSITION_MICROMETER =
897             new UnitType(QuantityType.POSITION, 5, PositionUnit.MICROMETER, "MICROMETER", "μm");
898 
899     
900     public static final UnitType POSITION_MILLIMETER =
901             new UnitType(QuantityType.POSITION, 6, PositionUnit.MILLIMETER, "MILLIMETER", "mm");
902 
903     
904     public static final UnitType POSITION_CENTIMETER =
905             new UnitType(QuantityType.POSITION, 7, PositionUnit.CENTIMETER, "CENTIMETER", "cm");
906 
907     
908     public static final UnitType POSITION_DECIMETER =
909             new UnitType(QuantityType.POSITION, 8, PositionUnit.DECIMETER, "DECIMETER", "dm");
910 
911     
912     public static final UnitType POSITION_DEKAMETER =
913             new UnitType(QuantityType.POSITION, 9, PositionUnit.BASE.getUnitByAbbreviation("dam"), "DEKAMETER", "dam");
914 
915     
916     public static final UnitType POSITION_HECTOMETER =
917             new UnitType(QuantityType.POSITION, 10, PositionUnit.HECTOMETER, "HECTOMETER", "hm");
918 
919     
920     public static final UnitType POSITION_KILOMETER =
921             new UnitType(QuantityType.POSITION, 11, PositionUnit.KILOMETER, "KILOMETER", "km");
922 
923     
924     public static final UnitType POSITION_MEGAMETER =
925             new UnitType(QuantityType.POSITION, 12, PositionUnit.BASE.getUnitByAbbreviation("Mm"), "MEGAMETER", "Mm");
926 
927     
928     public static final UnitType POSITION_INCH = new UnitType(QuantityType.POSITION, 13, PositionUnit.INCH, "INCH", "in");
929 
930     
931     public static final UnitType POSITION_FOOT = new UnitType(QuantityType.POSITION, 14, PositionUnit.FOOT, "FOOT", "ft");
932 
933     
934     public static final UnitType POSITION_YARD = new UnitType(QuantityType.POSITION, 15, PositionUnit.YARD, "YARD", "yd");
935 
936     
937     public static final UnitType POSITION_MILE = new UnitType(QuantityType.POSITION, 16, PositionUnit.MILE, "MILE", "mi");
938 
939     
940     public static final UnitType POSITION_NAUTICAL_MILE =
941             new UnitType(QuantityType.POSITION, 17, PositionUnit.NAUTICAL_MILE, "NAUTICAL_MILE", "NM");
942 
943     
944     public static final UnitType POSITION_ASTRONOMICAL_UNIT =
945             new UnitType(QuantityType.POSITION, 18, PositionUnit.ASTRONOMICAL_UNIT, "ASTRONOMICAL_UNIT", "au");
946 
947     
948     public static final UnitType POSITION_PARSEC = new UnitType(QuantityType.POSITION, 19, PositionUnit.PARSEC, "PARSEC", "pc");
949 
950     
951     public static final UnitType POSITION_LIGHTYEAR =
952             new UnitType(QuantityType.POSITION, 20, PositionUnit.LIGHTYEAR, "LIGHTYEAR", "ly");
953 
954     
955     public static final UnitType POSITION_ANGSTROM =
956             new UnitType(QuantityType.POSITION, 21, PositionUnit.ANGSTROM, "ANGSTROM", "Å");
957 
958     
959 
960     
961     public static final UnitType LINEARDENSITY_PER_METER =
962             new UnitType(QuantityType.LINEARDENSITY, 0, LinearDensityUnit.PER_METER, "PER_METER", "1/m");
963 
964     
965     public static final UnitType LINEARDENSITY_PER_ATTOMETER = new UnitType(QuantityType.LINEARDENSITY, 1,
966             LinearDensityUnit.BASE.getUnitByAbbreviation("/am"), "PER_ATTOMETER", "1/am");
967 
968     
969     public static final UnitType LINEARDENSITY_PER_FEMTOMETER = new UnitType(QuantityType.LINEARDENSITY, 2,
970             LinearDensityUnit.BASE.getUnitByAbbreviation("/fm"), "PER_FEMTOMETER", "1/fm");
971 
972     
973     public static final UnitType LINEARDENSITY_PER_PICOMETER = new UnitType(QuantityType.LINEARDENSITY, 3,
974             LinearDensityUnit.BASE.getUnitByAbbreviation("/pm"), "PER_PICOMETER", "1/pm");
975 
976     
977     public static final UnitType LINEARDENSITY_PER_NANOMETER = new UnitType(QuantityType.LINEARDENSITY, 4,
978             LinearDensityUnit.BASE.getUnitByAbbreviation("/nm"), "PER_NANOMETER", "1/nm");
979 
980     
981     public static final UnitType LINEARDENSITY_PER_MICROMETER =
982             new UnitType(QuantityType.LINEARDENSITY, 5, LinearDensityUnit.PER_MICROMETER, "PER_MICROMETER", "1/μm");
983 
984     
985     public static final UnitType LINEARDENSITY_PER_MILLIMETER =
986             new UnitType(QuantityType.LINEARDENSITY, 6, LinearDensityUnit.PER_MILLIMETER, "PER_MILLIMETER", "1/mm");
987 
988     
989     public static final UnitType LINEARDENSITY_PER_CENTIMETER =
990             new UnitType(QuantityType.LINEARDENSITY, 7, LinearDensityUnit.PER_CENTIMETER, "PER_CENTIMETER", "1/cm");
991 
992     
993     public static final UnitType LINEARDENSITY_PER_DECIMETER =
994             new UnitType(QuantityType.LINEARDENSITY, 8, LinearDensityUnit.PER_DECIMETER, "PER_DECIMETER", "1/dm");
995 
996     
997     public static final UnitType LINEARDENSITY_PER_DEKAMETER = new UnitType(QuantityType.LINEARDENSITY, 9,
998             LinearDensityUnit.BASE.getUnitByAbbreviation("/dam"), "PER_DEKAMETER", "1/dam");
999 
1000     
1001     public static final UnitType LINEARDENSITY_PER_HECTOMETER =
1002             new UnitType(QuantityType.LINEARDENSITY, 10, LinearDensityUnit.PER_HECTOMETER, "PER_HECTOMETER", "1/hm");
1003 
1004     
1005     public static final UnitType LINEARDENSITY_PER_KILOMETER =
1006             new UnitType(QuantityType.LINEARDENSITY, 11, LinearDensityUnit.PER_KILOMETER, "PER_KILOMETER", "1/km");
1007 
1008     
1009     public static final UnitType LINEARDENSITY_PER_MEGAMETER = new UnitType(QuantityType.LINEARDENSITY, 12,
1010             LinearDensityUnit.BASE.getUnitByAbbreviation("/Mm"), "PER_MEGAMETER", "1/Mm");
1011 
1012     
1013     public static final UnitType LINEARDENSITY_PER_INCH =
1014             new UnitType(QuantityType.LINEARDENSITY, 13, LinearDensityUnit.PER_INCH, "PER_INCH", "1/in");
1015 
1016     
1017     public static final UnitType LINEARDENSITY_PER_FOOT =
1018             new UnitType(QuantityType.LINEARDENSITY, 14, LinearDensityUnit.PER_FOOT, "PER_FOOT", "1/ft");
1019 
1020     
1021     public static final UnitType LINEARDENSITY_PER_YARD =
1022             new UnitType(QuantityType.LINEARDENSITY, 15, LinearDensityUnit.PER_YARD, "PER_YARD", "1/yd");
1023 
1024     
1025     public static final UnitType LINEARDENSITY_PER_MILE =
1026             new UnitType(QuantityType.LINEARDENSITY, 16, LinearDensityUnit.PER_MILE, "PER_MILE", "1/mi");
1027 
1028     
1029     public static final UnitType LINEARDENSITY_PER_NAUTICAL_MILE =
1030             new UnitType(QuantityType.LINEARDENSITY, 17, LinearDensityUnit.PER_NAUTICAL_MILE, "PER_NAUTICAL_MILE", "1/NM");
1031 
1032     
1033     public static final UnitType LINEARDENSITY_PER_ASTRONOMICAL_UNIT = new UnitType(QuantityType.LINEARDENSITY, 18,
1034             LinearDensityUnit.PER_ASTRONOMICAL_UNIT, "PER_ASTRONOMICAL_UNIT", "1/au");
1035 
1036     
1037     public static final UnitType LINEARDENSITY_PER_PARSEC =
1038             new UnitType(QuantityType.LINEARDENSITY, 19, LinearDensityUnit.PER_PARSEC, "PER_PARSEC", "1/pc");
1039 
1040     
1041     public static final UnitType LINEARDENSITY_PER_LIGHTYEAR =
1042             new UnitType(QuantityType.LINEARDENSITY, 20, LinearDensityUnit.PER_LIGHTYEAR, "PER_LIGHTYEAR", "1/ly");
1043 
1044     
1045     public static final UnitType LINEARDENSITY_PER_ANGSTROM =
1046             new UnitType(QuantityType.LINEARDENSITY, 21, LinearDensityUnit.PER_ANGSTROM, "PER_ANGSTROM", "1/Å");
1047 
1048     
1049 
1050     
1051     public static final UnitType MASS_KILOGRAM = new UnitType(QuantityType.MASS, 0, MassUnit.KILOGRAM, "KILOGRAM", "kg");
1052 
1053     
1054     public static final UnitType MASS_FEMTOGRAM =
1055             new UnitType(QuantityType.MASS, 1, MassUnit.BASE.getUnitByAbbreviation("fg"), "FEMTOGRAM", "fg");
1056 
1057     
1058     public static final UnitType MASS_PICOGRAM =
1059             new UnitType(QuantityType.MASS, 2, MassUnit.BASE.getUnitByAbbreviation("pg"), "PICOGRAM", "pg");
1060 
1061     
1062     public static final UnitType MASS_NANOGRAM =
1063             new UnitType(QuantityType.MASS, 3, MassUnit.BASE.getUnitByAbbreviation("ng"), "NANOGRAM", "ng");
1064 
1065     
1066     public static final UnitType MASS_MICROGRAM = new UnitType(QuantityType.MASS, 4, MassUnit.MICROGRAM, "MICROGRAM", "μg");
1067 
1068     
1069     public static final UnitType MASS_MILLIGRAM = new UnitType(QuantityType.MASS, 5, MassUnit.MILLIGRAM, "MILLIGRAM", "mg");
1070 
1071     
1072     public static final UnitType MASS_GRAM = new UnitType(QuantityType.MASS, 6, MassUnit.GRAM, "GRAM", "kg");
1073 
1074     
1075     public static final UnitType MASS_MEGAGRAM =
1076             new UnitType(QuantityType.MASS, 7, MassUnit.BASE.getUnitByAbbreviation("Mg"), "MEGAGRAM", "Mg");
1077 
1078     
1079     public static final UnitType MASS_GIGAGRAM =
1080             new UnitType(QuantityType.MASS, 8, MassUnit.BASE.getUnitByAbbreviation("Gg"), "GIGAGRAM", "Gg");
1081 
1082     
1083     public static final UnitType MASS_TERAGRAM =
1084             new UnitType(QuantityType.MASS, 9, MassUnit.BASE.getUnitByAbbreviation("Tg"), "TERAGRAM", "Tg");
1085 
1086     
1087     public static final UnitType MASS_PETAGRAM =
1088             new UnitType(QuantityType.MASS, 10, MassUnit.BASE.getUnitByAbbreviation("Pg"), "PETAGRAM", "Pg");
1089 
1090     
1091     public static final UnitType MASS_MICROELECTRONVOLT =
1092             new UnitType(QuantityType.MASS, 11, MassUnit.MICROELECTRONVOLT, "MICROELECTRONVOLT", "μeV");
1093 
1094     
1095     public static final UnitType MASS_MILLIELECTRONVOLT =
1096             new UnitType(QuantityType.MASS, 12, MassUnit.MILLIELECTRONVOLT, "MILLIELECTRONVOLT", "meV");
1097 
1098     
1099     public static final UnitType MASS_ELECTRONVOLT =
1100             new UnitType(QuantityType.MASS, 13, MassUnit.ELECTRONVOLT, "ELECTRONVOLT", "eV");
1101 
1102     
1103     public static final UnitType MASS_KILOELECTRONVOLT =
1104             new UnitType(QuantityType.MASS, 14, MassUnit.KILOELECTRONVOLT, "KILOELECTRONVOLT", "keV");
1105 
1106     
1107     public static final UnitType MASS_MEGAELECTRONVOLT =
1108             new UnitType(QuantityType.MASS, 15, MassUnit.MEGAELECTRONVOLT, "MEGAELECTRONVOLT", "MeV");
1109 
1110     
1111     public static final UnitType MASS_GIGAELECTRONVOLT =
1112             new UnitType(QuantityType.MASS, 16, MassUnit.GIGAELECTRONVOLT, "GIGAELECTRONVOLT", "GeV");
1113 
1114     
1115     public static final UnitType MASS_TERAELECTRONVOLT =
1116             new UnitType(QuantityType.MASS, 17, MassUnit.BASE.getUnitByAbbreviation("TeV"), "TERAELECTRONVOLT", "TeV");
1117 
1118     
1119     public static final UnitType MASS_PETAELECTRONVOLT =
1120             new UnitType(QuantityType.MASS, 18, MassUnit.BASE.getUnitByAbbreviation("PeV"), "PETAELECTRONVOLT", "PeV");
1121 
1122     
1123     public static final UnitType MASS_EXAELECTRONVOLT =
1124             new UnitType(QuantityType.MASS, 19, MassUnit.BASE.getUnitByAbbreviation("EeV"), "EXAELECTRONVOLT", "EeV");
1125 
1126     
1127     public static final UnitType MASS_OUNCE = new UnitType(QuantityType.MASS, 20, MassUnit.OUNCE, "OUNCE", "oz");
1128 
1129     
1130     public static final UnitType MASS_POUND = new UnitType(QuantityType.MASS, 21, MassUnit.POUND, "POUND", "lb");
1131 
1132     
1133     public static final UnitType MASS_DALTON = new UnitType(QuantityType.MASS, 22, MassUnit.DALTON, "DALTON", "Da");
1134 
1135     
1136     public static final UnitType MASS_TON_LONG =
1137             new UnitType(QuantityType.MASS, 23, MassUnit.TON_LONG, "TON_LONG", "ton (long)");
1138 
1139     
1140     public static final UnitType MASS_TON_SHORT =
1141             new UnitType(QuantityType.MASS, 24, MassUnit.TON_SHORT, "TON_SHORT", "ton (short)");
1142 
1143     
1144     public static final UnitType MASS_TONNE = new UnitType(QuantityType.MASS, 25, MassUnit.TONNE, "TONNE", "tonne");
1145 
1146     
1147 
1148     
1149     public static final UnitType POWER_WATT = new UnitType(QuantityType.POWER, 0, PowerUnit.WATT, "WATT", "W");
1150 
1151     
1152     public static final UnitType POWER_FEMTOWATT =
1153             new UnitType(QuantityType.POWER, 1, PowerUnit.BASE.getUnitByAbbreviation("fW"), "FEMTOWATT", "fW");
1154 
1155     
1156     public static final UnitType POWER_PICOWATT =
1157             new UnitType(QuantityType.POWER, 2, PowerUnit.BASE.getUnitByAbbreviation("pW"), "PICOWATT", "pW");
1158 
1159     
1160     public static final UnitType POWER_NANOWATT =
1161             new UnitType(QuantityType.POWER, 3, PowerUnit.BASE.getUnitByAbbreviation("nW"), "NANOWATT", "nW");
1162 
1163     
1164     public static final UnitType POWER_MICROWATT = new UnitType(QuantityType.POWER, 4, PowerUnit.MICROWATT, "MICROWATT", "μW");
1165 
1166     
1167     public static final UnitType POWER_MILLIWATT = new UnitType(QuantityType.POWER, 5, PowerUnit.MILLIWATT, "MILLIWATT", "mW");
1168 
1169     
1170     public static final UnitType POWER_KILOWATT = new UnitType(QuantityType.POWER, 6, PowerUnit.KILOWATT, "KILOWATT", "kW");
1171 
1172     
1173     public static final UnitType POWER_MEGAWATT = new UnitType(QuantityType.POWER, 7, PowerUnit.MEGAWATT, "MEGAWATT", "MW");
1174 
1175     
1176     public static final UnitType POWER_GIGAWATT = new UnitType(QuantityType.POWER, 8, PowerUnit.GIGAWATT, "GIGAWATT", "GW");
1177 
1178     
1179     public static final UnitType POWER_TERAWATT = new UnitType(QuantityType.POWER, 9, PowerUnit.TERAWATT, "TERAWATT", "TW");
1180 
1181     
1182     public static final UnitType POWER_PETAWATT = new UnitType(QuantityType.POWER, 10, PowerUnit.PETAWATT, "PETAWATT", "PW");
1183 
1184     
1185     public static final UnitType POWER_ERG_PER_SECOND =
1186             new UnitType(QuantityType.POWER, 11, PowerUnit.ERG_PER_SECOND, "ERG_PER_SECOND", "erg/s");
1187 
1188     
1189     public static final UnitType POWER_FOOT_POUND_FORCE_PER_SECOND = new UnitType(QuantityType.POWER, 12,
1190             PowerUnit.FOOT_POUND_FORCE_PER_SECOND, "FOOT_POUND_FORCE_PER_SECOND", "ft.lbf/s");
1191 
1192     
1193     public static final UnitType POWER_FOOT_POUND_FORCE_PER_MINUTE = new UnitType(QuantityType.POWER, 13,
1194             PowerUnit.FOOT_POUND_FORCE_PER_MINUTE, "FOOT_POUND_FORCE_PER_MINUTE", "ft.lbf/min");
1195 
1196     
1197     public static final UnitType POWER_FOOT_POUND_FORCE_PER_HOUR =
1198             new UnitType(QuantityType.POWER, 14, PowerUnit.FOOT_POUND_FORCE_PER_HOUR, "FOOT_POUND_FORCE_PER_HOUR", "ft.lbf/h");
1199 
1200     
1201     public static final UnitType POWER_HORSEPOWER_METRIC =
1202             new UnitType(QuantityType.POWER, 15, PowerUnit.HORSEPOWER_METRIC, "HORSEPOWER_METRIC", "hp");
1203 
1204     
1205     public static final UnitType POWER_STHENE_METER_PER_SECOND =
1206             new UnitType(QuantityType.POWER, 16, PowerUnit.STHENE_METER_PER_SECOND, "STHENE_METER_PER_SECOND", "sth/s");
1207 
1208     
1209 
1210     
1211     public static final UnitType PRESSURE_PASCAL = new UnitType(QuantityType.PRESSURE, 0, PressureUnit.PASCAL, "PASCAL", "Pa");
1212 
1213     
1214     public static final UnitType PRESSURE_HECTOPASCAL =
1215             new UnitType(QuantityType.PRESSURE, 1, PressureUnit.HECTOPASCAL, "HECTOPASCAL", "hPa");
1216 
1217     
1218     public static final UnitType PRESSURE_KILOPASCAL =
1219             new UnitType(QuantityType.PRESSURE, 2, PressureUnit.KILOPASCAL, "KILOPASCAL", "kPa");
1220 
1221     
1222     public static final UnitType PRESSURE_ATMOSPHERE_STANDARD =
1223             new UnitType(QuantityType.PRESSURE, 3, PressureUnit.ATMOSPHERE_STANDARD, "ATMOSPHERE_STANDARD", "atm");
1224 
1225     
1226     public static final UnitType PRESSURE_ATMOSPHERE_TECHNICAL =
1227             new UnitType(QuantityType.PRESSURE, 4, PressureUnit.ATMOSPHERE_TECHNICAL, "ATMOSPHERE_TECHNICAL", "at");
1228 
1229     
1230     public static final UnitType PRESSURE_MILLIBAR =
1231             new UnitType(QuantityType.PRESSURE, 5, PressureUnit.MILLIBAR, "MILLIBAR", "mbar");
1232 
1233     
1234     public static final UnitType PRESSURE_BAR = new UnitType(QuantityType.PRESSURE, 6, PressureUnit.BAR, "BAR", "bar");
1235 
1236     
1237     public static final UnitType PRESSURE_BARYE = new UnitType(QuantityType.PRESSURE, 7, PressureUnit.BARYE, "BARYE", "Ba");
1238 
1239     
1240     public static final UnitType PRESSURE_MILLIMETER_MERCURY =
1241             new UnitType(QuantityType.PRESSURE, 8, PressureUnit.MILLIMETER_MERCURY, "MILLIMETER_MERCURY", "mmHg");
1242 
1243     
1244     public static final UnitType PRESSURE_CENTIMETER_MERCURY =
1245             new UnitType(QuantityType.PRESSURE, 9, PressureUnit.CENTIMETER_MERCURY, "CENTIMETER_MERCURY", "cmHg");
1246 
1247     
1248     public static final UnitType PRESSURE_INCH_MERCURY =
1249             new UnitType(QuantityType.PRESSURE, 10, PressureUnit.INCH_MERCURY, "INCH_MERCURY", "inHg");
1250 
1251     
1252     public static final UnitType PRESSURE_FOOT_MERCURY =
1253             new UnitType(QuantityType.PRESSURE, 11, PressureUnit.FOOT_MERCURY, "FOOT_MERCURY", "ftHg");
1254 
1255     
1256     public static final UnitType PRESSURE_KGF_PER_SQUARE_MM =
1257             new UnitType(QuantityType.PRESSURE, 12, PressureUnit.KGF_PER_SQUARE_MM, "KGF_PER_SQUARE_MM", "kgf/mm2");
1258 
1259     
1260     public static final UnitType PRESSURE_PIEZE = new UnitType(QuantityType.PRESSURE, 13, PressureUnit.PIEZE, "PIEZE", "pz");
1261 
1262     
1263     public static final UnitType PRESSURE_POUND_PER_SQUARE_INCH =
1264             new UnitType(QuantityType.PRESSURE, 14, PressureUnit.POUND_PER_SQUARE_INCH, "POUND_PER_SQUARE_INCH", "lb/in2");
1265 
1266     
1267     public static final UnitType PRESSURE_POUND_PER_SQUARE_FOOT =
1268             new UnitType(QuantityType.PRESSURE, 15, PressureUnit.POUND_PER_SQUARE_FOOT, "POUND_PER_SQUARE_FOOT", "lb/ft2");
1269 
1270     
1271     public static final UnitType PRESSURE_TORR = new UnitType(QuantityType.PRESSURE, 16, PressureUnit.TORR, "TORR", "torr");
1272 
1273     
1274 
1275     
1276     public static final UnitType SPEED_METER_PER_SECOND =
1277             new UnitType(QuantityType.SPEED, 0, SpeedUnit.METER_PER_SECOND, "METER_PER_SECOND", "m/s");
1278 
1279     
1280     public static final UnitType SPEED_METER_PER_HOUR =
1281             new UnitType(QuantityType.SPEED, 1, SpeedUnit.METER_PER_HOUR, "METER_PER_HOUR", "m/h");
1282 
1283     
1284     public static final UnitType SPEED_KM_PER_SECOND =
1285             new UnitType(QuantityType.SPEED, 2, SpeedUnit.KM_PER_SECOND, "KM_PER_SECOND", "km/s");
1286 
1287     
1288     public static final UnitType SPEED_KM_PER_HOUR =
1289             new UnitType(QuantityType.SPEED, 3, SpeedUnit.KM_PER_HOUR, "KM_PER_HOUR", "km/h");
1290 
1291     
1292     public static final UnitType SPEED_INCH_PER_SECOND =
1293             new UnitType(QuantityType.SPEED, 4, SpeedUnit.INCH_PER_SECOND, "INCH_PER_SECOND", "in/s");
1294 
1295     
1296     public static final UnitType SPEED_INCH_PER_MINUTE =
1297             new UnitType(QuantityType.SPEED, 5, SpeedUnit.INCH_PER_MINUTE, "INCH_PER_MINUTE", "in/min");
1298 
1299     
1300     public static final UnitType SPEED_INCH_PER_HOUR =
1301             new UnitType(QuantityType.SPEED, 6, SpeedUnit.INCH_PER_HOUR, "INCH_PER_HOUR", "in/h");
1302 
1303     
1304     public static final UnitType SPEED_FOOT_PER_SECOND =
1305             new UnitType(QuantityType.SPEED, 7, SpeedUnit.FOOT_PER_SECOND, "FOOT_PER_SECOND", "ft/s");
1306 
1307     
1308     public static final UnitType SPEED_FOOT_PER_MINUTE =
1309             new UnitType(QuantityType.SPEED, 8, SpeedUnit.FOOT_PER_MINUTE, "FOOT_PER_MINUTE", "ft/min");
1310 
1311     
1312     public static final UnitType SPEED_FOOT_PER_HOUR =
1313             new UnitType(QuantityType.SPEED, 9, SpeedUnit.FOOT_PER_HOUR, "FOOT_PER_HOUR", "ft/h");
1314 
1315     
1316     public static final UnitType SPEED_MILE_PER_SECOND =
1317             new UnitType(QuantityType.SPEED, 10, SpeedUnit.MILE_PER_SECOND, "MILE_PER_SECOND", "mi/s");
1318 
1319     
1320     public static final UnitType SPEED_MILE_PER_MINUTE =
1321             new UnitType(QuantityType.SPEED, 11, SpeedUnit.MILE_PER_MINUTE, "MILE_PER_MINUTE", "mi/min");
1322 
1323     
1324     public static final UnitType SPEED_MILE_PER_HOUR =
1325             new UnitType(QuantityType.SPEED, 12, SpeedUnit.MILE_PER_HOUR, "MILE_PER_HOUR", "mi/h");
1326 
1327     
1328     public static final UnitType SPEED_KNOT = new UnitType(QuantityType.SPEED, 13, SpeedUnit.KNOT, "KNOT", "kt");
1329 
1330     
1331 
1332     
1333     public static final UnitType TEMPERATURE_KELVIN =
1334             new UnitType(QuantityType.TEMPERATURE, 0, TemperatureUnit.KELVIN, "KELVIN", "K");
1335 
1336     
1337     public static final UnitType TEMPERATURE_DEGREE_CELSIUS =
1338             new UnitType(QuantityType.TEMPERATURE, 1, TemperatureUnit.DEGREE_CELSIUS, "DEGREE_CELSIUS", "OC");
1339 
1340     
1341     public static final UnitType TEMPERATURE_DEGREE_FAHRENHEIT =
1342             new UnitType(QuantityType.TEMPERATURE, 2, TemperatureUnit.DEGREE_FAHRENHEIT, "DEGREE_FAHRENHEIT", "OF");
1343 
1344     
1345     public static final UnitType TEMPERATURE_DEGREE_RANKINE =
1346             new UnitType(QuantityType.TEMPERATURE, 3, TemperatureUnit.DEGREE_RANKINE, "DEGREE_RANKINE", "OR");
1347 
1348     
1349     public static final UnitType TEMPERATURE_DEGREE_REAUMUR =
1350             new UnitType(QuantityType.TEMPERATURE, 4, TemperatureUnit.DEGREE_REAUMUR, "DEGREE_REAUMUR", "ORé");
1351 
1352     
1353 
1354     
1355     public static final UnitType ABSOLUTETEMPERATURE_KELVIN =
1356             new UnitType(QuantityType.ABSOLUTETEMPERATURE, 0, AbsoluteTemperatureUnit.KELVIN, "KELVIN", "K");
1357 
1358     
1359     public static final UnitType ABSOLUTETEMPERATURE_DEGREE_CELSIUS =
1360             new UnitType(QuantityType.ABSOLUTETEMPERATURE, 1, AbsoluteTemperatureUnit.DEGREE_CELSIUS, "DEGREE_CELSIUS", "OC");
1361 
1362     
1363     public static final UnitType ABSOLUTETEMPERATURE_DEGREE_FAHRENHEIT = new UnitType(QuantityType.ABSOLUTETEMPERATURE, 2,
1364             AbsoluteTemperatureUnit.DEGREE_FAHRENHEIT, "DEGREE_FAHRENHEIT", "OF");
1365 
1366     
1367     public static final UnitType ABSOLUTETEMPERATURE_DEGREE_RANKINE =
1368             new UnitType(QuantityType.ABSOLUTETEMPERATURE, 3, AbsoluteTemperatureUnit.DEGREE_RANKINE, "DEGREE_RANKINE", "OR");
1369 
1370     
1371     public static final UnitType ABSOLUTETEMPERATURE_DEGREE_REAUMUR =
1372             new UnitType(QuantityType.ABSOLUTETEMPERATURE, 4, AbsoluteTemperatureUnit.DEGREE_REAUMUR, "DEGREE_REAUMUR", "ORé");
1373 
1374     
1375 
1376     
1377     public static final UnitType DURATION_SECOND = new UnitType(QuantityType.DURATION, 0, DurationUnit.SECOND, "SECOND", "s");
1378 
1379     
1380     public static final UnitType DURATION_ATTOSECOND =
1381             new UnitType(QuantityType.DURATION, 1, DurationUnit.BASE.getUnitByAbbreviation("as"), "ATTOSECOND", "as");
1382 
1383     
1384     public static final UnitType DURATION_FEMTOSECOND =
1385             new UnitType(QuantityType.DURATION, 2, DurationUnit.BASE.getUnitByAbbreviation("fs"), "FEMTOSECOND", "fs");
1386 
1387     
1388     public static final UnitType DURATION_PICOSECOND =
1389             new UnitType(QuantityType.DURATION, 3, DurationUnit.BASE.getUnitByAbbreviation("ps"), "PICOSECOND", "ps");
1390 
1391     
1392     public static final UnitType DURATION_NANOSECOND =
1393             new UnitType(QuantityType.DURATION, 4, DurationUnit.BASE.getUnitByAbbreviation("ns"), "NANOSECOND", "ns");
1394 
1395     
1396     public static final UnitType DURATION_MICROSECOND =
1397             new UnitType(QuantityType.DURATION, 5, DurationUnit.MICROSECOND, "MICROSECOND", "μs");
1398 
1399     
1400     public static final UnitType DURATION_MILLISECOND =
1401             new UnitType(QuantityType.DURATION, 6, DurationUnit.MILLISECOND, "MILLISECOND", "ms");
1402 
1403     
1404     public static final UnitType DURATION_MINUTE = new UnitType(QuantityType.DURATION, 7, DurationUnit.MINUTE, "MINUTE", "min");
1405 
1406     
1407     public static final UnitType DURATION_HOUR = new UnitType(QuantityType.DURATION, 8, DurationUnit.HOUR, "HOUR", "hr");
1408 
1409     
1410     public static final UnitType DURATION_DAY = new UnitType(QuantityType.DURATION, 9, DurationUnit.DAY, "DAY", "day");
1411 
1412     
1413     public static final UnitType DURATION_WEEK = new UnitType(QuantityType.DURATION, 10, DurationUnit.WEEK, "WEEK", "wk");
1414 
1415     
1416 
1417     
1418     public static final UnitType TIME_BASE_SECOND = new UnitType(QuantityType.TIME, 0, TimeUnit.BASE_SECOND, "SECOND", "s");
1419 
1420     
1421     public static final UnitType TIME_BASE_MICROSECOND =
1422             new UnitType(QuantityType.TIME, 1, TimeUnit.BASE_MICROSECOND, "MICROSECOND", "μs");
1423 
1424     
1425     public static final UnitType TIME_BASE_MILLISECOND =
1426             new UnitType(QuantityType.TIME, 2, TimeUnit.BASE_MILLISECOND, "MILLISECOND", "ms");
1427 
1428     
1429     public static final UnitType TIME_BASE_MINUTE = new UnitType(QuantityType.TIME, 3, TimeUnit.BASE_MINUTE, "MINUTE", "min");
1430 
1431     
1432     public static final UnitType TIME_BASE_HOUR = new UnitType(QuantityType.TIME, 4, TimeUnit.BASE_HOUR, "HOUR", "hr");
1433 
1434     
1435     public static final UnitType TIME_BASE_DAY = new UnitType(QuantityType.TIME, 5, TimeUnit.BASE_DAY, "DAY", "day");
1436 
1437     
1438     public static final UnitType TIME_BASE_WEEK = new UnitType(QuantityType.TIME, 6, TimeUnit.BASE_WEEK, "WEEK", "wk");
1439 
1440     
1441     public static final UnitType TIME_EPOCH_SECOND =
1442             new UnitType(QuantityType.TIME, 7, TimeUnit.EPOCH_SECOND, "SECOND (1-1-70)", "s(POSIX)");
1443 
1444     
1445     public static final UnitType TIME_EPOCH_MICROSECOND =
1446             new UnitType(QuantityType.TIME, 8, TimeUnit.EPOCH_MICROSECOND, "MICROSECOND (1-1-70)", "μs(POSIX)");
1447 
1448     
1449     public static final UnitType TIME_EPOCH_MILLISECOND =
1450             new UnitType(QuantityType.TIME, 9, TimeUnit.EPOCH_MILLISECOND, "MILLISECOND (1-1-70)", "ms(POSIX)");
1451 
1452     
1453     public static final UnitType TIME_EPOCH_MINUTE =
1454             new UnitType(QuantityType.TIME, 10, TimeUnit.EPOCH_MINUTE, "MINUTE (1-1-70)", "min(POSIX)");
1455 
1456     
1457     public static final UnitType TIME_EPOCH_HOUR =
1458             new UnitType(QuantityType.TIME, 11, TimeUnit.EPOCH_HOUR, "HOUR (1-1-70)", "hr(POSIX)");
1459 
1460     
1461     public static final UnitType TIME_EPOCH_DAY =
1462             new UnitType(QuantityType.TIME, 12, TimeUnit.EPOCH_DAY, "DAY (1-1-70)", "day(POSIX)");
1463 
1464     
1465     public static final UnitType TIME_EPOCH_WEEK =
1466             new UnitType(QuantityType.TIME, 13, TimeUnit.EPOCH_WEEK, "WEEK (1-1-70)", "wk(POSIX)");
1467 
1468     
1469     public static final UnitType TIME_YEAR1_SECOND =
1470             new UnitType(QuantityType.TIME, 14, TimeUnit.EPOCH_YEAR1_SECOND, "SECOND (1-1-0001)", "s(1-1-0001)");
1471 
1472     
1473     public static final UnitType TIME_J2000_SECOND =
1474             new UnitType(QuantityType.TIME, 15, TimeUnit.EPOCH_J2000_SECOND, "SECOND (1-1-2000 12:00)", "s(1-1-2000)");
1475 
1476     
1477 
1478     
1479     public static final UnitType TORQUE_NEWTON_METER =
1480             new UnitType(QuantityType.TORQUE, 0, TorqueUnit.NEWTON_METER, "NEWTON_METER", "Nm");
1481 
1482     
1483     public static final UnitType TORQUE_POUND_FOOT =
1484             new UnitType(QuantityType.TORQUE, 1, TorqueUnit.POUND_FOOT, "POUND_FOOT", "lb.ft");
1485 
1486     
1487     public static final UnitType TORQUE_POUND_INCH =
1488             new UnitType(QuantityType.TORQUE, 2, TorqueUnit.POUND_INCH, "POUND_INCH", "lb.in");
1489 
1490     
1491     public static final UnitType TORQUE_METER_KILOGRAM_FORCE =
1492             new UnitType(QuantityType.TORQUE, 3, TorqueUnit.METER_KILOGRAM_FORCE, "METER_KILOGRAM_FORCE", "m.kgf");
1493 
1494     
1495 
1496     
1497     public static final UnitType VOLUME_CUBIC_METER =
1498             new UnitType(QuantityType.VOLUME, 0, VolumeUnit.CUBIC_METER, "CUBIC_METER", "m3");
1499 
1500     
1501     public static final UnitType VOLUME_CUBIC_ATTOMETER =
1502             new UnitType(QuantityType.VOLUME, 1, VolumeUnit.BASE.getUnitByAbbreviation("am^3"), "CUBIC_ATTOMETER", "am3");
1503 
1504     
1505     public static final UnitType VOLUME_CUBIC_FEMTOMETER =
1506             new UnitType(QuantityType.VOLUME, 2, VolumeUnit.BASE.getUnitByAbbreviation("fm^3"), "CUBIC_FEMTOMETER", "fm3");
1507 
1508     
1509     public static final UnitType VOLUME_CUBIC_PICOMETER =
1510             new UnitType(QuantityType.VOLUME, 3, VolumeUnit.BASE.getUnitByAbbreviation("pm^3"), "CUBIC_PICOMETER", "pm3");
1511 
1512     
1513     public static final UnitType VOLUME_CUBIC_NANOMETER =
1514             new UnitType(QuantityType.VOLUME, 4, VolumeUnit.BASE.getUnitByAbbreviation("nm^3"), "CUBIC_NANOMETER", "nm3");
1515 
1516     
1517     public static final UnitType VOLUME_CUBIC_MICROMETER =
1518             new UnitType(QuantityType.VOLUME, 5, VolumeUnit.BASE.getUnitByAbbreviation("μm^3"), "CUBIC_MICROMETER", "μm3");
1519 
1520     
1521     public static final UnitType VOLUME_CUBIC_MILLIMETER =
1522             new UnitType(QuantityType.VOLUME, 6, VolumeUnit.CUBIC_MILLIMETER, "CUBIC_MILLIMETER", "mm3");
1523 
1524     
1525     public static final UnitType VOLUME_CUBIC_CENTIMETER =
1526             new UnitType(QuantityType.VOLUME, 7, VolumeUnit.CUBIC_CENTIMETER, "CUBIC_CENTIMETER", "cm3");
1527 
1528     
1529     public static final UnitType VOLUME_CUBIC_DECIMETER =
1530             new UnitType(QuantityType.VOLUME, 8, VolumeUnit.CUBIC_DECIMETER, "CUBIC_DECIMETER", "dm3");
1531 
1532     
1533     public static final UnitType VOLUME_CUBIC_DEKAMETER =
1534             new UnitType(QuantityType.VOLUME, 9, VolumeUnit.BASE.getUnitByAbbreviation("dam^3"), "CUBIC_DEKAMETER", "dam3");
1535 
1536     
1537     public static final UnitType VOLUME_CUBIC_HECTOMETER =
1538             new UnitType(QuantityType.VOLUME, 10, VolumeUnit.CUBIC_HECTOMETER, "CUBIC_HECTOMETER", "hm3");
1539 
1540     
1541     public static final UnitType VOLUME_CUBIC_KILOMETER =
1542             new UnitType(QuantityType.VOLUME, 11, VolumeUnit.CUBIC_KILOMETER, "CUBIC_KILOMETER", "km3");
1543 
1544     
1545     public static final UnitType VOLUME_CUBIC_MEGAMETER =
1546             new UnitType(QuantityType.VOLUME, 12, VolumeUnit.BASE.getUnitByAbbreviation("Mm^3"), "CUBIC_MEGAMETER", "Mm3");
1547 
1548     
1549     public static final UnitType VOLUME_CUBIC_INCH =
1550             new UnitType(QuantityType.VOLUME, 13, VolumeUnit.CUBIC_INCH, "CUBIC_INCH", "in3");
1551 
1552     
1553     public static final UnitType VOLUME_CUBIC_FOOT =
1554             new UnitType(QuantityType.VOLUME, 14, VolumeUnit.CUBIC_FOOT, "CUBIC_FOOT", "ft3");
1555 
1556     
1557     public static final UnitType VOLUME_CUBIC_YARD =
1558             new UnitType(QuantityType.VOLUME, 15, VolumeUnit.CUBIC_YARD, "CUBIC_YARD", "yd3");
1559 
1560     
1561     public static final UnitType VOLUME_CUBIC_MILE =
1562             new UnitType(QuantityType.VOLUME, 16, VolumeUnit.CUBIC_MILE, "CUBIC_MILE", "mi3");
1563 
1564     
1565     public static final UnitType VOLUME_LITER = new UnitType(QuantityType.VOLUME, 17, VolumeUnit.LITER, "LITER", "l");
1566 
1567     
1568     public static final UnitType VOLUME_GALLON_IMP =
1569             new UnitType(QuantityType.VOLUME, 18, VolumeUnit.GALLON_IMP, "GALLON_IMP", "gal (imp)");
1570 
1571     
1572     public static final UnitType VOLUME_GALLON_US_FLUID =
1573             new UnitType(QuantityType.VOLUME, 19, VolumeUnit.GALLON_US, "GALLON_US_FLUID", "gal (US)");
1574 
1575     
1576     public static final UnitType VOLUME_OUNCE_IMP_FLUID =
1577             new UnitType(QuantityType.VOLUME, 20, VolumeUnit.FLUID_OUNCE_IMP, "OUNCE_IMP_FLUID", "oz (imp)");
1578 
1579     
1580     public static final UnitType VOLUME_OUNCE_US_FLUID =
1581             new UnitType(QuantityType.VOLUME, 21, VolumeUnit.FLUID_OUNCE_US, "OUNCE_US_FLUID", "oz (US)");
1582 
1583     
1584     public static final UnitType VOLUME_PINT_IMP =
1585             new UnitType(QuantityType.VOLUME, 22, VolumeUnit.PINT_IMP, "PINT_IMP", "pt (imp)");
1586 
1587     
1588     public static final UnitType VOLUME_PINT_US_FLUID =
1589             new UnitType(QuantityType.VOLUME, 23, VolumeUnit.PINT_US, "PINT_US_FLUID", "pt (US)");
1590 
1591     
1592     public static final UnitType VOLUME_QUART_IMP =
1593             new UnitType(QuantityType.VOLUME, 24, VolumeUnit.QUART_IMP, "QUART_IMP", "qt (imp)");
1594 
1595     
1596     public static final UnitType VOLUME_QUART_US_FLUID =
1597             new UnitType(QuantityType.VOLUME, 25, VolumeUnit.QUART_US, "QUART_US_FLUID", "qt (US)");
1598 
1599     
1600     public static final UnitType VOLUME_CUBIC_PARSEC =
1601             new UnitType(QuantityType.VOLUME, 26, VolumeUnit.CUBIC_PARSEC, "CUBIC_PARSEC", "pc3");
1602 
1603     
1604     public static final UnitType VOLUME_CUBIC_LIGHTYEAR =
1605             new UnitType(QuantityType.VOLUME, 27, VolumeUnit.CUBIC_LIGHTYEAR, "CUBIC_LIGHTYEAR", "ly3");
1606 
1607     
1608 
1609     
1610     public static final UnitType ABSORBEDDOSE_GRAY =
1611             new UnitType(QuantityType.ABSORBEDDOSE, 0, AbsorbedDoseUnit.GRAY, "GRAY", "Gy");
1612 
1613     
1614     public static final UnitType ABSORBEDDOSE_MILLIGRAY =
1615             new UnitType(QuantityType.ABSORBEDDOSE, 1, AbsorbedDoseUnit.MILLIGRAY, "MILLIGRAY", "mGy");
1616 
1617     
1618     public static final UnitType ABSORBEDDOSE_MICROGRAY =
1619             new UnitType(QuantityType.ABSORBEDDOSE, 2, AbsorbedDoseUnit.MICROGRAY, "MICROGRAY", "μGy");
1620 
1621     
1622     public static final UnitType ABSORBEDDOSE_ERG_PER_GRAM =
1623             new UnitType(QuantityType.ABSORBEDDOSE, 3, AbsorbedDoseUnit.ERG_PER_GRAM, "ERG_PER_GRAM", "erg/g");
1624 
1625     
1626     public static final UnitType ABSORBEDDOSE_RAD =
1627             new UnitType(QuantityType.ABSORBEDDOSE, 4, AbsorbedDoseUnit.RAD, "RAD", "rad");
1628 
1629     
1630 
1631     
1632     public static final UnitType AMOUNTOFSUBSTANCE_MOLE =
1633             new UnitType(QuantityType.AMOUNTOFSUBSTANCE, 0, AmountOfSubstanceUnit.MOLE, "MOLE", "mol");
1634 
1635     
1636     public static final UnitType AMOUNTOFSUBSTANCE_MILLIMOLE =
1637             new UnitType(QuantityType.AMOUNTOFSUBSTANCE, 1, AmountOfSubstanceUnit.MILLIMOLE, "MILLIMOLE", "mmol");
1638 
1639     
1640     public static final UnitType AMOUNTOFSUBSTANCE_MICROMOLE =
1641             new UnitType(QuantityType.AMOUNTOFSUBSTANCE, 2, AmountOfSubstanceUnit.MICROMOLE, "MICROMOLE", "μmol");
1642 
1643     
1644     public static final UnitType AMOUNTOFSUBSTANCE_NANOMOLE =
1645             new UnitType(QuantityType.AMOUNTOFSUBSTANCE, 3, AmountOfSubstanceUnit.NANOMOLE, "NANOMOLE", "nmol");
1646 
1647     
1648 
1649     
1650     public static final UnitType CATALYTICACTIVITY_KATAL =
1651             new UnitType(QuantityType.CATALYTICACTIVITY, 0, CatalyticActivityUnit.KATAL, "KATAL", "kat");
1652 
1653     
1654     public static final UnitType CATALYTICACTIVITY_MILLIKATAL =
1655             new UnitType(QuantityType.CATALYTICACTIVITY, 1, CatalyticActivityUnit.MILLIKATAL, "MILLIKATAL", "mkat");
1656 
1657     
1658     public static final UnitType CATALYTICACTIVITY_MICROKATAL =
1659             new UnitType(QuantityType.CATALYTICACTIVITY, 2, CatalyticActivityUnit.MICROKATAL, "MICROKATAL", "μkat");
1660 
1661     
1662     public static final UnitType CATALYTICACTIVITY_NANOKATAL =
1663             new UnitType(QuantityType.CATALYTICACTIVITY, 3, CatalyticActivityUnit.NANOKATAL, "NANOKATAL", "nkat");
1664 
1665     
1666 
1667     
1668     public static final UnitType ELECTRICALCAPACITANCE_FARAD =
1669             new UnitType(QuantityType.ELECTRICALCAPACITANCE, 0, ElectricalCapacitanceUnit.FARAD, "FARAD", "F");
1670 
1671     
1672     public static final UnitType ELECTRICALCAPACITANCE_MILLIFARAD =
1673             new UnitType(QuantityType.ELECTRICALCAPACITANCE, 1, ElectricalCapacitanceUnit.MILLIFARAD, "MILLIFARAD", "mF");
1674 
1675     
1676     public static final UnitType ELECTRICALCAPACITANCE_MICROFARAD =
1677             new UnitType(QuantityType.ELECTRICALCAPACITANCE, 2, ElectricalCapacitanceUnit.MICROFARAD, "MICROFARAD", "uF");
1678 
1679     
1680     public static final UnitType ELECTRICALCAPACITANCE_NANOFARAD =
1681             new UnitType(QuantityType.ELECTRICALCAPACITANCE, 3, ElectricalCapacitanceUnit.NANOFARAD, "NANOFARAD", "nF");
1682 
1683     
1684     public static final UnitType ELECTRICALCAPACITANCE_PICOFARAD =
1685             new UnitType(QuantityType.ELECTRICALCAPACITANCE, 4, ElectricalCapacitanceUnit.PICOFARAD, "PICOFARAD", "pF");
1686 
1687     
1688 
1689     
1690     public static final UnitType ELECTRICALCONDUCTANCE_SIEMENS =
1691             new UnitType(QuantityType.ELECTRICALCONDUCTANCE, 0, ElectricalConductanceUnit.SIEMENS, "SIEMENS", "F");
1692 
1693     
1694     public static final UnitType ELECTRICALCONDUCTANCE_MILLISIEMENS =
1695             new UnitType(QuantityType.ELECTRICALCONDUCTANCE, 1, ElectricalConductanceUnit.MILLISIEMENS, "MILLISIEMENS", "mS");
1696 
1697     
1698     public static final UnitType ELECTRICALCONDUCTANCE_MICROSIEMENS =
1699             new UnitType(QuantityType.ELECTRICALCONDUCTANCE, 2, ElectricalConductanceUnit.MICROSIEMENS, "MICROSIEMENS", "μS");
1700 
1701     
1702     public static final UnitType ELECTRICALCONDUCTANCE_NANOSIEMENS =
1703             new UnitType(QuantityType.ELECTRICALCONDUCTANCE, 3, ElectricalConductanceUnit.NANOSIEMENS, "NANOSIEMENS", "nS");
1704 
1705     
1706 
1707     
1708     public static final UnitType ELECTRICALINDUCTANCE_HENRY =
1709             new UnitType(QuantityType.ELECTRICALINDUCTANCE, 0, ElectricalInductanceUnit.HENRY, "HENRY", "H");
1710 
1711     
1712     public static final UnitType ELECTRICALINDUCTANCE_MILLIHENRY =
1713             new UnitType(QuantityType.ELECTRICALINDUCTANCE, 1, ElectricalInductanceUnit.MILLIHENRY, "MILLIHENRY", "mH");
1714 
1715     
1716     public static final UnitType ELECTRICALINDUCTANCE_MICROHENRY =
1717             new UnitType(QuantityType.ELECTRICALINDUCTANCE, 2, ElectricalInductanceUnit.MICROHENRY, "MICROHENRY", "μH");
1718 
1719     
1720     public static final UnitType ELECTRICALINDUCTANCE_NANOHENRY =
1721             new UnitType(QuantityType.ELECTRICALINDUCTANCE, 3, ElectricalInductanceUnit.NANOHENRY, "NANOHENRY", "nH");
1722 
1723     
1724 
1725     
1726     public static final UnitType EQUIVALENTDOSE_SIEVERT =
1727             new UnitType(QuantityType.EQUIVALENTDOSE, 0, EquivalentDoseUnit.SIEVERT, "SIEVERT", "Sv");
1728 
1729     
1730     public static final UnitType EQUIVALENTDOSE_MILLISIEVERT =
1731             new UnitType(QuantityType.EQUIVALENTDOSE, 1, EquivalentDoseUnit.MILLISIEVERT, "MILLISIEVERT", "mSv");
1732 
1733     
1734     public static final UnitType EQUIVALENTDOSE_MICROSIEVERT =
1735             new UnitType(QuantityType.EQUIVALENTDOSE, 2, EquivalentDoseUnit.MICROSIEVERT, "MICROSIEVERT", "μSv");
1736 
1737     
1738     public static final UnitType EQUIVALENTDOSE_REM =
1739             new UnitType(QuantityType.EQUIVALENTDOSE, 3, EquivalentDoseUnit.REM, "REM", "rem");
1740 
1741     
1742 
1743     
1744     public static final UnitType ILLUMINANCE_LUX = new UnitType(QuantityType.ILLUMINANCE, 0, IlluminanceUnit.LUX, "LUX", "lx");
1745 
1746     
1747     public static final UnitType ILLUMINANCE_MILLILUX =
1748             new UnitType(QuantityType.ILLUMINANCE, 1, IlluminanceUnit.MILLILUX, "MILLILUX", "mlx");
1749 
1750     
1751     public static final UnitType ILLUMINANCE_MICROLUX =
1752             new UnitType(QuantityType.ILLUMINANCE, 2, IlluminanceUnit.MICROLUX, "MICROLUX", "μlx");
1753 
1754     
1755     public static final UnitType ILLUMINANCE_KILOLUX =
1756             new UnitType(QuantityType.ILLUMINANCE, 3, IlluminanceUnit.KILOLUX, "KILOLUX", "klux");
1757 
1758     
1759     public static final UnitType ILLUMINANCE_PHOT =
1760             new UnitType(QuantityType.ILLUMINANCE, 4, IlluminanceUnit.PHOT, "PHOT", "ph");
1761 
1762     
1763     public static final UnitType ILLUMINANCE_NOX = new UnitType(QuantityType.ILLUMINANCE, 5, IlluminanceUnit.NOX, "NOX", "nx");
1764 
1765     
1766 
1767     
1768     public static final UnitType LUMINOUSFLUX_LUMEN =
1769             new UnitType(QuantityType.LUMINOUSFLUX, 0, LuminousFluxUnit.LUMEN, "LUMEN", "lm");
1770 
1771     
1772 
1773     
1774     public static final UnitType LUMINOUSINTENSITY_CANDELA =
1775             new UnitType(QuantityType.LUMINOUSINTENSITY, 0, LuminousIntensityUnit.CANDELA, "CANDELA", "cd");
1776 
1777     
1778 
1779     
1780     public static final UnitType MAGNETICFLUXDENSITY_TESLA =
1781             new UnitType(QuantityType.MAGNETICFLUXDENSITY, 0, MagneticFluxDensityUnit.TESLA, "TESLA", "T");
1782 
1783     
1784     public static final UnitType MAGNETICFLUXDENSITY_MILLITESLA =
1785             new UnitType(QuantityType.MAGNETICFLUXDENSITY, 1, MagneticFluxDensityUnit.MILLITESLA, "MILLITESLA", "mT");
1786 
1787     
1788     public static final UnitType MAGNETICFLUXDENSITY_MICROTESLA =
1789             new UnitType(QuantityType.MAGNETICFLUXDENSITY, 2, MagneticFluxDensityUnit.MICROTESLA, "MICROTESLA", "μT");
1790 
1791     
1792     public static final UnitType MAGNETICFLUXDENSITY_NANOTESLA =
1793             new UnitType(QuantityType.MAGNETICFLUXDENSITY, 3, MagneticFluxDensityUnit.NANOTESLA, "NANOTESLA", "nT");
1794 
1795     
1796     public static final UnitType MAGNETICFLUXDENSITY_GAUSS =
1797             new UnitType(QuantityType.MAGNETICFLUXDENSITY, 4, MagneticFluxDensityUnit.GAUSS, "GAUSS", "G");
1798 
1799     
1800 
1801     
1802     public static final UnitType MAGNETICFLUX_WEBER =
1803             new UnitType(QuantityType.MAGNETICFLUX, 0, MagneticFluxUnit.WEBER, "WEBER", "Wb");
1804 
1805     
1806     public static final UnitType MAGNETICFLUX_MILLIWEBER =
1807             new UnitType(QuantityType.MAGNETICFLUX, 1, MagneticFluxUnit.MILLIWEBER, "MILLIWEBER", "mWb");
1808 
1809     
1810     public static final UnitType MAGNETICFLUX_MICROWEBER =
1811             new UnitType(QuantityType.MAGNETICFLUX, 2, MagneticFluxUnit.MICROWEBER, "MICROWEBER", "μWb");
1812 
1813     
1814     public static final UnitType MAGNETICFLUX_NANOWEBER =
1815             new UnitType(QuantityType.MAGNETICFLUX, 3, MagneticFluxUnit.NANOWEBER, "NANOWEBER", "nWb");
1816 
1817     
1818     public static final UnitType MAGNETICFLUX_MAXWELL =
1819             new UnitType(QuantityType.MAGNETICFLUX, 4, MagneticFluxUnit.MAXWELL, "MAXWELL", "Mx");
1820 
1821     
1822 
1823     
1824     public static final UnitType RADIOACTIVITY_BECQUEREL =
1825             new UnitType(QuantityType.RADIOACTIVITY, 0, RadioActivityUnit.BECQUEREL, "BECQUEREL", "Bq");
1826 
1827     
1828     public static final UnitType RADIOACTIVITY_KILOBECQUEREL =
1829             new UnitType(QuantityType.RADIOACTIVITY, 1, RadioActivityUnit.KILOBECQUEREL, "KILOBECQUEREL", "kBq");
1830 
1831     
1832     public static final UnitType RADIOACTIVITY_MEGABECQUEREL =
1833             new UnitType(QuantityType.RADIOACTIVITY, 2, RadioActivityUnit.MEGABECQUEREL, "MEGABECQUEREL", "MBq");
1834 
1835     
1836     public static final UnitType RADIOACTIVITY_GIGABECQUEREL =
1837             new UnitType(QuantityType.RADIOACTIVITY, 3, RadioActivityUnit.GIGABECQUEREL, "GIGABECQUEREL", "GBq");
1838 
1839     
1840     public static final UnitType RADIOACTIVITY_TERABECQUEREL =
1841             new UnitType(QuantityType.RADIOACTIVITY, 4, RadioActivityUnit.TERABECQUEREL, "TERABECQUEREL", "TBq");
1842 
1843     
1844     public static final UnitType RADIOACTIVITY_PETABECQUEREL =
1845             new UnitType(QuantityType.RADIOACTIVITY, 5, RadioActivityUnit.PETABECQUEREL, "PETABECQUEREL", "PBq");
1846 
1847     
1848     public static final UnitType RADIOACTIVITY_CURIE =
1849             new UnitType(QuantityType.RADIOACTIVITY, 6, RadioActivityUnit.CURIE, "CURIE", "Ci");
1850 
1851     
1852     public static final UnitType RADIOACTIVITY_MILLICURIE =
1853             new UnitType(QuantityType.RADIOACTIVITY, 7, RadioActivityUnit.MILLICURIE, "MILLICURIE", "mCi");
1854 
1855     
1856     public static final UnitType RADIOACTIVITY_MICROCURIE =
1857             new UnitType(QuantityType.RADIOACTIVITY, 8, RadioActivityUnit.MICROCURIE, "MICROCURIE", "μCi");
1858 
1859     
1860     public static final UnitType RADIOACTIVITY_NANOCURIE =
1861             new UnitType(QuantityType.RADIOACTIVITY, 9, RadioActivityUnit.NANOCURIE, "NANOCURIE", "nCi");
1862 
1863     
1864     public static final UnitType RADIOACTIVITY_RUTHERFORD =
1865             new UnitType(QuantityType.RADIOACTIVITY, 10, RadioActivityUnit.RUTHERFORD, "RUTHERFORD", "Rd");
1866 
1867     
1868 
1869     
1870     public static final UnitType ANGULARACCELERATION_RADIAN_PER_SECOND_2 = new UnitType(QuantityType.ANGULARACCELERATION, 0,
1871             AngularAccelerationUnit.RADIAN_PER_SECOND_SQUARED, "RADIAN_PER_SECOND_SQUARED", "rad/s2");
1872 
1873     
1874     public static final UnitType ANGULARACCELERATION_DEGREE_PER_SECOND_2 = new UnitType(QuantityType.ANGULARACCELERATION, 1,
1875             AngularAccelerationUnit.DEGREE_PER_SECOND_SQUARED, "DEGREE_PER_SECOND_SQUARED", "deg/s2");
1876 
1877     
1878     public static final UnitType ANGULARACCELERATION_ARCMINUTE_PER_SECOND_2 = new UnitType(QuantityType.ANGULARACCELERATION, 2,
1879             AngularAccelerationUnit.ARCMINUTE_PER_SECOND_SQUARED, "ARCMINUTE_PER_SECOND_SQUARED", "arcmin/s2");
1880 
1881     
1882     public static final UnitType ANGULARACCELERATION_ARCSECOND_PER_SECOND_2 = new UnitType(QuantityType.ANGULARACCELERATION, 3,
1883             AngularAccelerationUnit.ARCSECOND_PER_SECOND_SQUARED, "ARCSECOND_PER_SECOND_SQUARED", "arcsec/s2");
1884 
1885     
1886     public static final UnitType ANGULARACCELERATION_GRAD_PER_SECOND_2 = new UnitType(QuantityType.ANGULARACCELERATION, 4,
1887             AngularAccelerationUnit.GRAD_PER_SECOND_SQUARED, "GRAD_PER_SECOND_SQUARED", "grad/s2");
1888 
1889     
1890     public static final UnitType ANGULARACCELERATION_CENTECIMAL_ARCMINUTE_PER_SECOND_2 =
1891             new UnitType(QuantityType.ANGULARACCELERATION, 5, AngularAccelerationUnit.CENTESIMAL_ARCSECOND_PER_SECOND_SQUARED,
1892                     "CENTECIMALARCMINUTE_PER_SECOND_SQUARED", "cdm/s2");
1893 
1894     
1895     public static final UnitType ANGULARACCELERATION_CENTESIMAL_ARCSECOND_PER_SECOND_2 =
1896             new UnitType(QuantityType.ANGULARACCELERATION, 6, AngularAccelerationUnit.CENTESIMAL_ARCSECOND_PER_SECOND_SQUARED,
1897                     "CENTESIMAL_ARCSECOND_PER_SECOND_SQUARED", "cds/s2");
1898 
1899     
1900 
1901     
1902     public static final UnitType ANGULARVELOCITY_RADIAN_PER_SECOND = new UnitType(QuantityType.ANGULARACCELERATION, 0,
1903             AngularVelocityUnit.RADIAN_PER_SECOND, "RADIAN_PER_SECOND", "rad/s");
1904 
1905     
1906     public static final UnitType ANGULARVELOCITY_DEGREE_PER_SECOND = new UnitType(QuantityType.ANGULARACCELERATION, 1,
1907             AngularVelocityUnit.DEGREE_PER_SECOND, "DEGREE_PER_SECOND", "deg/s");
1908 
1909     
1910     public static final UnitType ANGULARVELOCITY_ARCMINUTE_PER_SECOND = new UnitType(QuantityType.ANGULARACCELERATION, 2,
1911             AngularVelocityUnit.ARCMINUTE_PER_SECOND, "ARCMINUTE_PER_SECOND", "arcmin/s");
1912 
1913     
1914     public static final UnitType ANGULARVELOCITY_ARCSECOND_PER_SECOND = new UnitType(QuantityType.ANGULARACCELERATION, 3,
1915             AngularVelocityUnit.ARCSECOND_PER_SECOND, "ARCSECOND_PER_SECOND", "arcsec/s");
1916 
1917     
1918     public static final UnitType ANGULARVELOCITY_GRAD_PER_SECOND =
1919             new UnitType(QuantityType.ANGULARACCELERATION, 4, AngularVelocityUnit.GRAD_PER_SECOND, "GRAD_PER_SECOND", "grad/s");
1920 
1921     
1922     public static final UnitType ANGULARVELOCITY_CENTECIMAL_ARCMINUTE_PER_SECOND =
1923             new UnitType(QuantityType.ANGULARACCELERATION, 5, AngularVelocityUnit.CENTESIMAL_ARCSECOND_PER_SECOND,
1924                     "CENTECIMALARCMINUTE_PER_SECOND", "cdm/s");
1925 
1926     
1927     public static final UnitType ANGULARVELOCITY_CENTESIMAL_ARCSECOND_PER_SECOND =
1928             new UnitType(QuantityType.ANGULARACCELERATION, 6, AngularVelocityUnit.CENTESIMAL_ARCSECOND_PER_SECOND,
1929                     "CENTESIMAL_ARCSECOND_PER_SECOND", "cds/s");
1930 
1931     
1932 
1933     
1934     public static final UnitType KILOGRAM_METER_PER_SECOND = new UnitType(QuantityType.ANGULARACCELERATION, 0,
1935             MomentumUnit.KILOGRAM_METER_PER_SECOND, "KILOGRAM_METER_PER_SECOND", "kgm/s");
1936 
1937     
1938 
1939     
1940 
1941 
1942 
1943 
1944 
1945 
1946 
1947     public <U extends Unit<U>> UnitType(final QuantityType unitType, final int code, final U djunitsType, final String name,
1948             final String abbreviation)
1949     {
1950         Throw.whenNull(unitType, "unitType should not be null");
1951         Throw.whenNull(djunitsType, "djunitsType should not be null");
1952         Throw.whenNull(name, "name should not be null");
1953         Throw.whenNull(abbreviation, "abbreviation should not be null");
1954         Throw.when(name.length() == 0, SerializationRuntimeException.class, "name should not be empty");
1955         Throw.when(abbreviation.length() == 0, SerializationRuntimeException.class, "abbreviation should not be empty");
1956 
1957         this.unitType = unitType;
1958         this.code = code;
1959         this.djunitsType = djunitsType;
1960         this.name = name;
1961         this.abbreviation = abbreviation;
1962         Map<Integer, UnitType> codeMap = codeDisplayTypeMap.get(this.unitType);
1963         if (codeMap == null)
1964         {
1965             codeMap = new HashMap<>();
1966             codeDisplayTypeMap.put(this.unitType, codeMap);
1967         }
1968         codeMap.put(this.code, this);
1969         djunitsDisplayTypeMap.put(this.djunitsType, this);
1970     }
1971 
1972     
1973 
1974 
1975 
1976 
1977 
1978     public static UnitType getDisplayType(final QuantityType unitType, final Integer code)
1979     {
1980         Map<Integer, UnitType> byteMap = codeDisplayTypeMap.get(unitType);
1981         return byteMap == null ? null : byteMap.get(code);
1982     }
1983 
1984     
1985 
1986 
1987 
1988 
1989 
1990     public static UnitType getDisplayType(final byte unitTypeCode, final int code)
1991     {
1992         QuantityType unitType = QuantityType.getUnitType(unitTypeCode);
1993         Map<Integer, UnitType> codeMap = codeDisplayTypeMap.get(unitType);
1994         return codeMap == null ? null : codeMap.get(code);
1995     }
1996 
1997     
1998 
1999 
2000 
2001 
2002 
2003     public static Unit<?> getUnit(final byte unitTypeCode, final int code)
2004     {
2005         QuantityType unitType = QuantityType.getUnitType(unitTypeCode);
2006         Map<Integer, UnitType> codeMap = codeDisplayTypeMap.get(unitType);
2007         return codeMap == null ? null : codeMap.get(code) == null ? null : codeMap.get(code).djunitsType;
2008     }
2009 
2010     
2011 
2012 
2013 
2014 
2015 
2016     public static Unit<?> getUnit(final QuantityType unitType, final int code)
2017     {
2018         Map<Integer, UnitType> codeMap = codeDisplayTypeMap.get(unitType);
2019         return codeMap == null ? null : codeMap.get(code) == null ? null : codeMap.get(code).djunitsType;
2020     }
2021 
2022     
2023 
2024 
2025     public QuantityType getUnitType()
2026     {
2027         return this.unitType;
2028     }
2029 
2030     
2031 
2032 
2033 
2034 
2035 
2036     public static <U extends Unit<U>> UnitType getDisplayType(final U unit)
2037     {
2038         return djunitsDisplayTypeMap.get(unit);
2039     }
2040 
2041     
2042 
2043 
2044 
2045 
2046 
2047     public static <U extends Unit<U>> int getIntCode(final U unit)
2048     {
2049         QuantityType type = QuantityType.getUnitType(unit);
2050         UnitType displayType = type == null ? null : getDisplayType(unit);
2051         return displayType == null ? null : displayType.getIntCode();
2052     }
2053 
2054     
2055 
2056 
2057 
2058 
2059 
2060     public static <U extends Unit<U>> byte getByteCode(final U unit)
2061     {
2062         QuantityType type = QuantityType.getUnitType(unit);
2063         UnitType displayType = type == null ? null : getDisplayType(unit);
2064         return displayType == null ? null : displayType.getByteCode();
2065     }
2066 
2067     
2068 
2069 
2070     public final int getIntCode()
2071     {
2072         return this.code;
2073     }
2074 
2075     
2076 
2077 
2078     public final byte getByteCode()
2079     {
2080         return (byte) (this.code & 0xFF);
2081     }
2082 
2083     
2084 
2085 
2086     public final Unit<?> getDjunitsType()
2087     {
2088         return this.djunitsType;
2089     }
2090 
2091     
2092 
2093 
2094     public final String getName()
2095     {
2096         return this.name;
2097     }
2098 
2099     
2100 
2101 
2102     public final String getAbbreviation()
2103     {
2104         return this.abbreviation;
2105     }
2106 
2107 }