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