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.AccelerationUnit;
9   import org.djunits.unit.AngleSolidUnit;
10  import org.djunits.unit.AngleUnit;
11  import org.djunits.unit.AreaUnit;
12  import org.djunits.unit.DensityUnit;
13  import org.djunits.unit.DimensionlessUnit;
14  import org.djunits.unit.DirectionUnit;
15  import org.djunits.unit.DurationUnit;
16  import org.djunits.unit.ElectricalChargeUnit;
17  import org.djunits.unit.ElectricalCurrentUnit;
18  import org.djunits.unit.ElectricalPotentialUnit;
19  import org.djunits.unit.ElectricalResistanceUnit;
20  import org.djunits.unit.EnergyUnit;
21  import org.djunits.unit.FlowMassUnit;
22  import org.djunits.unit.FlowVolumeUnit;
23  import org.djunits.unit.ForceUnit;
24  import org.djunits.unit.FrequencyUnit;
25  import org.djunits.unit.LengthUnit;
26  import org.djunits.unit.LinearDensityUnit;
27  import org.djunits.unit.MassUnit;
28  import org.djunits.unit.MoneyUnit;
29  import org.djunits.unit.PositionUnit;
30  import org.djunits.unit.PowerUnit;
31  import org.djunits.unit.PressureUnit;
32  import org.djunits.unit.SpeedUnit;
33  import org.djunits.unit.TemperatureUnit;
34  import org.djunits.unit.TimeUnit;
35  import org.djunits.unit.TorqueUnit;
36  import org.djunits.unit.Unit;
37  import org.djunits.unit.VolumeUnit;
38  
39  /**
40   * DJUNITS Display Types to be used as part of a Sim0MQ message.
41   * <p>
42   * Copyright (c) 2016-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
43   * BSD-style license. See <a href="https://sim0mq.org/docs/current/license.html">Sim0MQ License</a>.
44   * </p>
45   * @author <a href="https://www.tudelft.nl/averbraeck">Alexander Verbraeck</a>
46   */
47  public class DisplayType implements Serializable
48  {
49      /** */
50      private static final long serialVersionUID = 20170314L;
51  
52      /** the unit types from number to type. */
53      private static Map<SerializationUnits, Map<Integer, DisplayType>> codeDisplayTypeMap = new HashMap<>();
54  
55      /** the unit types from class to type. */
56      private static Map<Unit<?>, DisplayType> djunitsDisplayTypeMap = new HashMap<>();
57  
58      /** the code of the unit as a byte. */
59      private final int code;
60  
61      /** the corresponding unit data type. */
62      private final SerializationUnits unitType;
63  
64      /** the djunits data type. */
65      private final Unit<?> djunitsType;
66  
67      /** the unit name. */
68      private final String name;
69  
70      /** the unit description. */
71      private final String abbreviation;
72  
73      /* ================================================== DIMENSIONLESS ================================================== */
74  
75      /** Dimensionless.SI unit type with code 0. */
76      public static final DisplayType DIMENSIONLESS_SI =
77              new DisplayType(SerializationUnits.DIMENSIONLESS, 0, DimensionlessUnit.SI, "SI", "[]");
78  
79      /* ================================================== ACCELERATION =================================================== */
80  
81      /** Acceleration.METER_PER_SECOND_2 unit type with code 0. */
82      public static final DisplayType ACCELERATION_METER_PER_SECOND_2 = new DisplayType(SerializationUnits.ACCELERATION, 0,
83              AccelerationUnit.METER_PER_SECOND_2, "METER_PER_SECOND_2", "m/s2");
84  
85      /** Acceleration.KM_PER_HOUR_2 unit type with code 1. */
86      public static final DisplayType ACCELERATION_KM_PER_HOUR_2 =
87              new DisplayType(SerializationUnits.ACCELERATION, 1, AccelerationUnit.KM_PER_HOUR_2, "KM_PER_HOUR_2", "km/h2");
88  
89      /** Acceleration.INCH_PER_SECOND_2 unit type with code 2. */
90      public static final DisplayType ACCELERATION_INCH_PER_SECOND_2 = new DisplayType(SerializationUnits.ACCELERATION, 2,
91              AccelerationUnit.INCH_PER_SECOND_2, "INCH_PER_SECOND_2", "in/s2");
92  
93      /** Acceleration.FOOT_PER_SECOND_2 unit type with code 3. */
94      public static final DisplayType ACCELERATION_FOOT_PER_SECOND_2 = new DisplayType(SerializationUnits.ACCELERATION, 3,
95              AccelerationUnit.FOOT_PER_SECOND_2, "FOOT_PER_SECOND_2", "ft/s2");
96  
97      /** Acceleration.MILE_PER_HOUR_2 unit type with code 4. */
98      public static final DisplayType ACCELERATION_MILE_PER_HOUR_2 =
99              new DisplayType(SerializationUnits.ACCELERATION, 4, AccelerationUnit.MILE_PER_HOUR_2, "MILE_PER_HOUR_2", "mi/h2");
100 
101     /** Acceleration.MILE_PER_HOUR_PER_SECOND unit type with code 5. */
102     public static final DisplayType ACCELERATION_MILE_PER_HOUR_PER_SECOND = new DisplayType(SerializationUnits.ACCELERATION, 5,
103             AccelerationUnit.MILE_PER_HOUR_PER_SECOND, "MILE_PER_HOUR_PER_SECOND", "mi/h/s");
104 
105     /** Acceleration.KNOT_PER_SECOND unit type with code 6. */
106     public static final DisplayType ACCELERATION_KNOT_PER_SECOND =
107             new DisplayType(SerializationUnits.ACCELERATION, 6, AccelerationUnit.KNOT_PER_SECOND, "KNOT_PER_SECOND", "kt/s");
108 
109     /** Acceleration.GAL unit type with code 7. */
110     public static final DisplayType ACCELERATION_GAL =
111             new DisplayType(SerializationUnits.ACCELERATION, 7, AccelerationUnit.GAL, "GAL", "gal");
112 
113     /** Acceleration.STANDARD_GRAVITY unit type with code 8. */
114     public static final DisplayType ACCELERATION_STANDARD_GRAVITY =
115             new DisplayType(SerializationUnits.ACCELERATION, 8, AccelerationUnit.STANDARD_GRAVITY, "STANDARD_GRAVITY", "g");
116 
117     /* =================================================== ANGLESOLID ==================================================== */
118 
119     /** AngleSolid.STERADIAN unit type with code 0. */
120     public static final DisplayType ANGLESOLID_STERADIAN =
121             new DisplayType(SerializationUnits.ANGLESOLID, 0, AngleSolidUnit.STERADIAN, "STERADIAN", "sr");
122 
123     /** AngleSolid.SQUARE_DEGREE unit type with code 1. */
124     public static final DisplayType ANGLESOLID_SQUARE_DEGREE =
125             new DisplayType(SerializationUnits.ANGLESOLID, 1, AngleSolidUnit.SQUARE_DEGREE, "SQUARE_DEGREE", "sq.deg");
126 
127     /* ====================================================== ANGLE ====================================================== */
128 
129     /** Angle.RADIAN unit type with code 0. */
130     public static final DisplayType ANGLE_RADIAN =
131             new DisplayType(SerializationUnits.ANGLE, 0, AngleUnit.RADIAN, "RADIAN", "rad");
132 
133     /** Angle.ARCMINUTE unit type with code 1. */
134     public static final DisplayType ANGLE_ARCMINUTE =
135             new DisplayType(SerializationUnits.ANGLE, 1, AngleUnit.ARCMINUTE, "ARCMINUTE", "arcmin");
136 
137     /** Angle.ARCSECOND unit type with code 2. */
138     public static final DisplayType ANGLE_ARCSECOND =
139             new DisplayType(SerializationUnits.ANGLE, 2, AngleUnit.ARCSECOND, "ARCSECOND", "arcsec");
140 
141     /** Angle.CENTESIMAL_ARCMINUTE unit type with code 3. */
142     public static final DisplayType ANGLE_CENTESIMAL_ARCMINUTE = new DisplayType(SerializationUnits.ANGLE, 3,
143             AngleUnit.CENTESIMAL_ARCMINUTE, "CENTESIMAL_ARCMINUTE", "centesimal_arcmin");
144 
145     /** Angle.CENTESIMAL_ARCSECOND unit type with code 4. */
146     public static final DisplayType ANGLE_CENTESIMAL_ARCSECOND = new DisplayType(SerializationUnits.ANGLE, 4,
147             AngleUnit.CENTESIMAL_ARCSECOND, "CENTESIMAL_ARCSECOND", "centesimal_arcsec");
148 
149     /** Angle.DEGREE unit type with code 5. */
150     public static final DisplayType ANGLE_DEGREE =
151             new DisplayType(SerializationUnits.ANGLE, 5, AngleUnit.DEGREE, "DEGREE", "deg");
152 
153     /** Angle.GRAD unit type with code 6. */
154     public static final DisplayType ANGLE_GRAD = new DisplayType(SerializationUnits.ANGLE, 6, AngleUnit.GRAD, "GRAD", "grad");
155 
156     /* ==================================================== DIRECTION ==================================================== */
157 
158     /** Direction.NORTH_RADIAN unit type with code 0. */
159     public static final DisplayType DIRECTION_NORTH_RADIAN =
160             new DisplayType(SerializationUnits.DIRECTION, 0, DirectionUnit.NORTH_RADIAN, "NORTH_RADIAN", "rad(N)");
161 
162     /** Direction.NORTH_DEGREE unit type with code 1. */
163     public static final DisplayType DIRECTION_NORTH_DEGREE =
164             new DisplayType(SerializationUnits.DIRECTION, 1, DirectionUnit.NORTH_DEGREE, "NORTH_DEGREE", "deg(N)");
165 
166     /** Direction.EAST_RADIAN unit type with code 2. */
167     public static final DisplayType DIRECTION_EAST_RADIAN =
168             new DisplayType(SerializationUnits.DIRECTION, 2, DirectionUnit.EAST_RADIAN, "EAST_RADIAN", "rad(E)");
169 
170     /** Direction.EAST_DEGREE unit type with code 2. */
171     public static final DisplayType DIRECTION_EAST_DEGREE =
172             new DisplayType(SerializationUnits.DIRECTION, 3, DirectionUnit.EAST_DEGREE, "EAST_DEGREE", "deg(E)");
173 
174     /* ====================================================== AREA ======================================================= */
175 
176     /** Area.SQUARE_METER unit type with code 0. */
177     public static final DisplayType AREA_SQUARE_METER =
178             new DisplayType(SerializationUnits.AREA, 0, AreaUnit.SQUARE_METER, "SQUARE_METER", "m2");
179 
180     /** Area.SQUARE_ATTOMETER unit type with code 1. */
181     public static final DisplayType AREA_SQUARE_ATTOMETER =
182             new DisplayType(SerializationUnits.AREA, 1, AreaUnit.SQUARE_ATTOMETER, "SQUARE_ATTOMETER", "am2");
183 
184     /** Area.SQUARE_FEMTOMETER unit type with code 2. */
185     public static final DisplayType AREA_SQUARE_FEMTOMETER =
186             new DisplayType(SerializationUnits.AREA, 2, AreaUnit.SQUARE_FEMTOMETER, "SQUARE_FEMTOMETER", "fm2");
187 
188     /** Area.SQUARE_PICOMETER unit type with code 3. */
189     public static final DisplayType AREA_SQUARE_PICOMETER =
190             new DisplayType(SerializationUnits.AREA, 3, AreaUnit.SQUARE_PICOMETER, "SQUARE_PICOMETER", "pm2");
191 
192     /** Area.SQUARE_NANOMETER unit type with code 4. */
193     public static final DisplayType AREA_SQUARE_NANOMETER =
194             new DisplayType(SerializationUnits.AREA, 4, AreaUnit.SQUARE_NANOMETER, "SQUARE_NANOMETER", "nm2");
195 
196     /** Area.SQUARE_MICROMETER unit type with code 5. */
197     public static final DisplayType AREA_SQUARE_MICROMETER =
198             new DisplayType(SerializationUnits.AREA, 5, AreaUnit.SQUARE_MICROMETER, "SQUARE_MICROMETER", "μm2");
199 
200     /** Area.SQUARE_MILLIMETER unit type with code 6. */
201     public static final DisplayType AREA_SQUARE_MILLIMETER =
202             new DisplayType(SerializationUnits.AREA, 6, AreaUnit.SQUARE_MILLIMETER, "SQUARE_MILLIMETER", "mm2");
203 
204     /** Area.SQUARE_CENTIMETER unit type with code 7. */
205     public static final DisplayType AREA_SQUARE_CENTIMETER =
206             new DisplayType(SerializationUnits.AREA, 7, AreaUnit.SQUARE_CENTIMETER, "SQUARE_CENTIMETER", "cm2");
207 
208     /** Area.SQUARE_DECIMETER unit type with code 8. */
209     public static final DisplayType AREA_SQUARE_DECIMETER =
210             new DisplayType(SerializationUnits.AREA, 8, AreaUnit.SQUARE_DECIMETER, "SQUARE_DECIMETER", "dm2");
211 
212     /** Area.SQUARE_DEKAMETER unit type with code 9. */
213     public static final DisplayType AREA_SQUARE_DEKAMETER =
214             new DisplayType(SerializationUnits.AREA, 9, AreaUnit.SQUARE_DEKAMETER, "SQUARE_DEKAMETER", "dam2");
215 
216     /** Area.SQUARE_HECTOMETER unit type with code 10. */
217     public static final DisplayType AREA_SQUARE_HECTOMETER =
218             new DisplayType(SerializationUnits.AREA, 10, AreaUnit.SQUARE_HECTOMETER, "SQUARE_HECTOMETER", "hm2");
219 
220     /** Area.SQUARE_KILOMETER unit type with code 11. */
221     public static final DisplayType AREA_SQUARE_KILOMETER =
222             new DisplayType(SerializationUnits.AREA, 11, AreaUnit.SQUARE_KILOMETER, "SQUARE_KILOMETER", "km2");
223 
224     /** Area.SQUARE_MEGAMETER unit type with code 12. */
225     public static final DisplayType AREA_SQUARE_MEGAMETER =
226             new DisplayType(SerializationUnits.AREA, 12, AreaUnit.SQUARE_MEGAMETER, "SQUARE_MEGAMETER", "Mm2");
227 
228     /** Area.SQUARE_INCH unit type with code 13. */
229     public static final DisplayType AREA_SQUARE_INCH =
230             new DisplayType(SerializationUnits.AREA, 13, AreaUnit.SQUARE_INCH, "SQUARE_INCH", "in2");
231 
232     /** Area.SQUARE_FOOT unit type with code 14. */
233     public static final DisplayType AREA_SQUARE_FOOT =
234             new DisplayType(SerializationUnits.AREA, 14, AreaUnit.SQUARE_FOOT, "SQUARE_FOOT", "ft2");
235 
236     /** Area.SQUARE_YARD unit type with code 15. */
237     public static final DisplayType AREA_SQUARE_YARD =
238             new DisplayType(SerializationUnits.AREA, 15, AreaUnit.SQUARE_YARD, "SQUARE_YARD", "yd2");
239 
240     /** Area.SQUARE_MILE unit type with code 16. */
241     public static final DisplayType AREA_SQUARE_MILE =
242             new DisplayType(SerializationUnits.AREA, 16, AreaUnit.SQUARE_MILE, "SQUARE_MILE", "mi2");
243 
244     /** Area.SQUARE_NAUTICAL_MILE unit type with code 17. */
245     public static final DisplayType AREA_SQUARE_NAUTICAL_MILE =
246             new DisplayType(SerializationUnits.AREA, 17, AreaUnit.SQUARE_NAUTICAL_MILE, "SQUARE_NAUTICAL_MILE", "NM2");
247 
248     /** Area.ACRE unit type with code 18. */
249     public static final DisplayType AREA_ACRE = new DisplayType(SerializationUnits.AREA, 18, AreaUnit.ACRE, "ACRE", "acre");
250 
251     /** Area.ARE unit type with code 19. */
252     public static final DisplayType AREA_ARE = new DisplayType(SerializationUnits.AREA, 19, AreaUnit.ARE, "ARE", "a");
253 
254     /** Area.CENTIARE unit type with code 20. */
255     public static final DisplayType AREA_CENTIARE =
256             new DisplayType(SerializationUnits.AREA, 20, AreaUnit.CENTIARE, "CENTIARE", "ca");
257 
258     /** Area.HECTARE unit type with code 21. */
259     public static final DisplayType AREA_HECTARE =
260             new DisplayType(SerializationUnits.AREA, 21, AreaUnit.HECTARE, "HECTARE", "ha");
261 
262     /* ===================================================== DENSITY ===================================================== */
263 
264     /** Density.KG_PER_METER_3 unit type with code 0. */
265     public static final DisplayType DENSITY_KG_PER_METER_3 =
266             new DisplayType(SerializationUnits.DENSITY, 0, DensityUnit.KG_PER_METER_3, "KG_PER_METER_3", "kg/m3");
267 
268     /** Density.GRAM_PER_CENTIMETER_3 unit type with code 1. */
269     public static final DisplayType DENSITY_GRAM_PER_CENTIMETER_3 =
270             new DisplayType(SerializationUnits.DENSITY, 1, DensityUnit.GRAM_PER_CENTIMETER_3, "GRAM_PER_CENTIMETER_3", "g/cm3");
271 
272     /* ================================================ ELECTRICALCHARGE ================================================= */
273 
274     /** ElectricalCharge.COULOMB unit type with code 0. */
275     public static final DisplayType ELECTRICALCHARGE_COULOMB =
276             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 0, ElectricalChargeUnit.COULOMB, "COULOMB", "C");
277 
278     /** ElectricalCharge.PICOCOULOMB unit type with code 1. */
279     public static final DisplayType ELECTRICALCHARGE_PICOCOULOMB =
280             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 1, ElectricalChargeUnit.PICOCOULOMB, "PICOCOULOMB", "pC");
281 
282     /** ElectricalCharge.NANOCOULOMB unit type with code 2. */
283     public static final DisplayType ELECTRICALCHARGE_NANOCOULOMB =
284             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 2, ElectricalChargeUnit.NANOCOULOMB, "NANOCOULOMB", "nC");
285 
286     /** ElectricalCharge.MICROCOULOMB unit type with code 3. */
287     public static final DisplayType ELECTRICALCHARGE_MICROCOULOMB =
288             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 3, ElectricalChargeUnit.MICROCOULOMB, "MICROCOULOMB", "μC");
289 
290     /** ElectricalCharge.MILLICOULOMB unit type with code 4. */
291     public static final DisplayType ELECTRICALCHARGE_MILLICOULOMB =
292             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 4, ElectricalChargeUnit.MILLICOULOMB, "MILLICOULOMB", "mC");
293 
294     /** ElectricalCharge.ABCOULOMB unit type with code 5. */
295     public static final DisplayType ELECTRICALCHARGE_ABCOULOMB =
296             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 5, ElectricalChargeUnit.ABCOULOMB, "ABCOULOMB", "abC");
297 
298     /** ElectricalCharge.ATOMIC_UNIT unit type with code 6. */
299     public static final DisplayType ELECTRICALCHARGE_ATOMIC_UNIT =
300             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 6, ElectricalChargeUnit.ATOMIC_UNIT, "ATOMIC_UNIT", "au");
301 
302     /** ElectricalCharge.EMU unit type with code 7. */
303     public static final DisplayType ELECTRICALCHARGE_EMU =
304             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 7, ElectricalChargeUnit.EMU, "EMU", "emu");
305 
306     /** ElectricalCharge.ESU unit type with code 8. */
307     public static final DisplayType ELECTRICALCHARGE_ESU =
308             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 8, ElectricalChargeUnit.ESU, "ESU", "esu");
309 
310     /** ElectricalCharge.FARADAY unit type with code 9. */
311     public static final DisplayType ELECTRICALCHARGE_FARADAY =
312             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 9, ElectricalChargeUnit.FARADAY, "FARADAY", "F");
313 
314     /** ElectricalCharge.FRANKLIN unit type with code 10. */
315     public static final DisplayType ELECTRICALCHARGE_FRANKLIN =
316             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 10, ElectricalChargeUnit.FRANKLIN, "FRANKLIN  ", "Fr");
317 
318     /** ElectricalCharge.STATCOULOMB unit type with code 11. */
319     public static final DisplayType ELECTRICALCHARGE_STATCOULOMB =
320             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 11, ElectricalChargeUnit.STATCOULOMB, "STATCOULOMB", "statC");
321 
322     /** ElectricalCharge.MILLIAMPERE_HOUR unit type with code 12. */
323     public static final DisplayType ELECTRICALCHARGE_MILLIAMPERE_HOUR = new DisplayType(SerializationUnits.ELECTRICALCHARGE, 12,
324             ElectricalChargeUnit.MILLIAMPERE_HOUR, "MILLIAMPERE_HOUR", "mAh");
325 
326     /** ElectricalCharge.AMPERE_HOUR unit type with code 13. */
327     public static final DisplayType ELECTRICALCHARGE_AMPERE_HOUR =
328             new DisplayType(SerializationUnits.ELECTRICALCHARGE, 13, ElectricalChargeUnit.AMPERE_HOUR, "AMPERE_HOUR", "Ah");
329 
330     /** ElectricalCharge.KILOAMPERE_HOUR unit type with code 14. */
331     public static final DisplayType ELECTRICALCHARGE_KILOAMPERE_HOUR = new DisplayType(SerializationUnits.ELECTRICALCHARGE, 14,
332             ElectricalChargeUnit.KILOAMPERE_HOUR, "KILOAMPERE_HOUR", "kAh");
333 
334     /** ElectricalCharge.MEGAAMPERE_HOUR unit type with code 15. */
335     public static final DisplayType ELECTRICALCHARGE_MEGAAMPERE_HOUR = new DisplayType(SerializationUnits.ELECTRICALCHARGE, 15,
336             ElectricalChargeUnit.MEGAAMPERE_HOUR, "MEGAAMPERE_HOUR", "MAh");
337 
338     /** ElectricalCharge.MILLIAMPERE_SECOND unit type with code 16. */
339     public static final DisplayType ELECTRICALCHARGE_MILLIAMPERE_SECOND = new DisplayType(SerializationUnits.ELECTRICALCHARGE,
340             16, ElectricalChargeUnit.MILLIAMPERE_SECOND, "MILLIAMPERE_SECOND", "mAs");
341 
342     /* ============================================== ELECTRICALCURRENT ================================================== */
343 
344     /** ElectricalCurrent.AMPERE unit type with code 0. */
345     public static final DisplayType ELECTRICALCURRENT_AMPERE =
346             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 0, ElectricalCurrentUnit.AMPERE, "AMPERE", "A");
347 
348     /** ElectricalCurrent.NANOAMPERE unit type with code 1. */
349     public static final DisplayType ELECTRICALCURRENT_NANOAMPERE =
350             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 1, ElectricalCurrentUnit.NANOAMPERE, "NANOAMPERE", "nA");
351 
352     /** ElectricalCurrent.MICROAMPERE unit type with code 2. */
353     public static final DisplayType ELECTRICALCURRENT_MICROAMPERE =
354             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 2, ElectricalCurrentUnit.MICROAMPERE, "MICROAMPERE", "μA");
355 
356     /** ElectricalCurrent.MILLIAMPERE unit type with code 3. */
357     public static final DisplayType ELECTRICALCURRENT_MILLIAMPERE =
358             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 3, ElectricalCurrentUnit.MILLIAMPERE, "MILLIAMPERE", "mA");
359 
360     /** ElectricalCurrent.KILOAMPERE unit type with code 4. */
361     public static final DisplayType ELECTRICALCURRENT_KILOAMPERE =
362             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 4, ElectricalCurrentUnit.KILOAMPERE, "KILOAMPERE", "kA");
363 
364     /** ElectricalCurrent.MEGAAMPERE unit type with code 5. */
365     public static final DisplayType ELECTRICALCURRENT_MEGAAMPERE =
366             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 5, ElectricalCurrentUnit.MEGAAMPERE, "MEGAAMPERE", "MA");
367 
368     /** ElectricalCurrent.ABAMPERE unit type with code 6. */
369     public static final DisplayType ELECTRICALCURRENT_ABAMPERE =
370             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 6, ElectricalCurrentUnit.ABAMPERE, "ABAMPERE", "abA");
371 
372     /** ElectricalCurrent.STATAMPERE unit type with code 7. */
373     public static final DisplayType ELECTRICALCURRENT_STATAMPERE =
374             new DisplayType(SerializationUnits.ELECTRICALCURRENT, 7, ElectricalCurrentUnit.STATAMPERE, "STATAMPERE", "statA");
375 
376     /* ============================================= ELECTRICALPOTENTIAL ================================================= */
377 
378     /** ElectricalPotential.VOLT unit type with code 0. */
379     public static final DisplayType ELECTRICALPOTENTIAL_VOLT =
380             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 0, ElectricalPotentialUnit.VOLT, "VOLT", "V");
381 
382     /** ElectricalPotential.NANOVOLT unit type with code 1. */
383     public static final DisplayType ELECTRICALPOTENTIAL_NANOVOLT =
384             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 1, ElectricalPotentialUnit.NANOVOLT, "NANOVOLT", "nV");
385 
386     /** ElectricalPotential.MICROVOLT unit type with code 2. */
387     public static final DisplayType ELECTRICALPOTENTIAL_MICROVOLT =
388             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 2, ElectricalPotentialUnit.MICROVOLT, "MICROVOLT", "μV");
389 
390     /** ElectricalPotential.MILLIVOLT unit type with code 3. */
391     public static final DisplayType ELECTRICALPOTENTIAL_MILLIVOLT =
392             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 3, ElectricalPotentialUnit.MILLIVOLT, "MILLIVOLT", "mV");
393 
394     /** ElectricalPotential.KILOVOLT unit type with code 4. */
395     public static final DisplayType ELECTRICALPOTENTIAL_KILOVOLT =
396             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 4, ElectricalPotentialUnit.KILOVOLT, "KILOVOLT", "kV");
397 
398     /** ElectricalPotential.MEGAVOLT unit type with code 5. */
399     public static final DisplayType ELECTRICALPOTENTIAL_MEGAVOLT =
400             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 5, ElectricalPotentialUnit.MEGAVOLT, "MEGAVOLT", "MV");
401 
402     /** ElectricalPotential.GIGAVOLT unit type with code 6. */
403     public static final DisplayType ELECTRICALPOTENTIAL_GIGAVOLT =
404             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 6, ElectricalPotentialUnit.GIGAVOLT, "GIGAVOLT", "GV");
405 
406     /** ElectricalPotential.ABVOLT unit type with code 7. */
407     public static final DisplayType ELECTRICALPOTENTIAL_ABVOLT =
408             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 7, ElectricalPotentialUnit.ABVOLT, "ABVOLT", "abV");
409 
410     /** ElectricalPotential.STATVOLT unit type with code 8. */
411     public static final DisplayType ELECTRICALPOTENTIAL_STATVOLT =
412             new DisplayType(SerializationUnits.ELECTRICALPOTENTIAL, 8, ElectricalPotentialUnit.STATVOLT, "STATVOLT", "statV");
413 
414     /* ============================================ ELECTRICALRESISTANCE ================================================= */
415 
416     /** ElectricalResistance.OHM unit type with code 0. */
417     public static final DisplayType ELECTRICALRESISTANCE_OHM =
418             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 0, ElectricalResistanceUnit.OHM, "OHM", "Ω");
419 
420     /** ElectricalResistance.NANOOHM unit type with code 1. */
421     public static final DisplayType ELECTRICALRESISTANCE_NANOOHM =
422             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 1, ElectricalResistanceUnit.NANOOHM, "NANOOHM", "nΩ");
423 
424     /** ElectricalResistance.MICROOHM unit type with code 2. */
425     public static final DisplayType ELECTRICALRESISTANCE_MICROOHM =
426             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 2, ElectricalResistanceUnit.MICROOHM, "MICROOHM", "μΩ");
427 
428     /** ElectricalResistance.MILLIOHM unit type with code 3. */
429     public static final DisplayType ELECTRICALRESISTANCE_MILLIOHM =
430             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 3, ElectricalResistanceUnit.MILLIOHM, "MILLIOHM", "mΩ");
431 
432     /** ElectricalResistance.KILOOHM unit type with code 4. */
433     public static final DisplayType ELECTRICALRESISTANCE_KILOOHM =
434             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 4, ElectricalResistanceUnit.KILOOHM, "KILOOHM", "kΩ");
435 
436     /** ElectricalResistance.MEGAOHM unit type with code 5. */
437     public static final DisplayType ELECTRICALRESISTANCE_MEGAOHM =
438             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 5, ElectricalResistanceUnit.MEGAOHM, "MEGAOHM", "MΩ");
439 
440     /** ElectricalResistance.GIGAOHM unit type with code 6. */
441     public static final DisplayType ELECTRICALRESISTANCE_GIGAOHM =
442             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 6, ElectricalResistanceUnit.GIGAOHM, "GIGAOHM", "GΩ");
443 
444     /** ElectricalResistance.ABOHM unit type with code 7. */
445     public static final DisplayType ELECTRICALRESISTANCE_ABOHM =
446             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 7, ElectricalResistanceUnit.ABOHM, "ABOHM", "abΩ");
447 
448     /** ElectricalResistance.STATOHM unit type with code 8. */
449     public static final DisplayType ELECTRICALRESISTANCE_STATOHM =
450             new DisplayType(SerializationUnits.ELECTRICALRESISTANCE, 8, ElectricalResistanceUnit.STATOHM, "STATOHM", "statΩ");
451 
452     /* ===================================================== ENERGY ====================================================== */
453 
454     /** Energy.JOULE unit type with code 0. */
455     public static final DisplayType ENERGY_JOULE =
456             new DisplayType(SerializationUnits.ENERGY, 0, EnergyUnit.JOULE, "JOULE", "J");
457 
458     /** Energy.PICOJOULE unit type with code 1. */
459     public static final DisplayType ENERGY_PICOJOULE =
460             new DisplayType(SerializationUnits.ENERGY, 1, EnergyUnit.PICOJOULE, "PICOJOULE", "pJ");
461 
462     /** Energy.NANOJOULE unit type with code 2. */
463     public static final DisplayType ENERGY_NANOJOULE =
464             new DisplayType(SerializationUnits.ENERGY, 2, EnergyUnit.NANOJOULE, "NANOJOULE", "mJ");
465 
466     /** Energy.MICROJOULE unit type with code 3. */
467     public static final DisplayType ENERGY_MICROJOULE =
468             new DisplayType(SerializationUnits.ENERGY, 3, EnergyUnit.MICROJOULE, "MICROJOULE", "μJ");
469 
470     /** Energy.MILLIJOULE unit type with code 4. */
471     public static final DisplayType ENERGY_MILLIJOULE =
472             new DisplayType(SerializationUnits.ENERGY, 4, EnergyUnit.MILLIJOULE, "MILLIJOULE", "mJ");
473 
474     /** Energy.KILOJOULE unit type with code 5. */
475     public static final DisplayType ENERGY_KILOJOULE =
476             new DisplayType(SerializationUnits.ENERGY, 5, EnergyUnit.KILOJOULE, "KILOJOULE", "kJ");
477 
478     /** Energy.MEGAJOULE unit type with code 6. */
479     public static final DisplayType ENERGY_MEGAJOULE =
480             new DisplayType(SerializationUnits.ENERGY, 6, EnergyUnit.MEGAJOULE, "MEGAJOULE", "MJ");
481 
482     /** Energy.GIGAJOULE unit type with code 7. */
483     public static final DisplayType ENERGY_GIGAJOULE =
484             new DisplayType(SerializationUnits.ENERGY, 7, EnergyUnit.GIGAJOULE, "GIGAJOULE", "GJ");
485 
486     /** Energy.TERAJOULE unit type with code 8. */
487     public static final DisplayType ENERGY_TERAJOULE =
488             new DisplayType(SerializationUnits.ENERGY, 8, EnergyUnit.TERAJOULE, "TERAJOULE", "TJ");
489 
490     /** Energy.PETAJOULE unit type with code 9. */
491     public static final DisplayType ENERGY_PETAJOULE =
492             new DisplayType(SerializationUnits.ENERGY, 9, EnergyUnit.PETAJOULE, "PETAJOULE", "PJ");
493 
494     /** Energy.ELECTRONVOLT unit type with code 10. */
495     public static final DisplayType ENERGY_ELECTRONVOLT =
496             new DisplayType(SerializationUnits.ENERGY, 10, EnergyUnit.ELECTRONVOLT, "ELECTRONVOLT", "eV");
497 
498     /** Energy.MICROELECTRONVOLT unit type with code 11. */
499     public static final DisplayType ENERGY_MICROELECTRONVOLT =
500             new DisplayType(SerializationUnits.ENERGY, 11, EnergyUnit.MICROELECTRONVOLT, "MICROELECTRONVOLT", "μeV");
501 
502     /** Energy.MILLIELECTRONVOLT unit type with code 12. */
503     public static final DisplayType ENERGY_MILLIELECTRONVOLT =
504             new DisplayType(SerializationUnits.ENERGY, 12, EnergyUnit.MILLIELECTRONVOLT, "MILLIELECTRONVOLT", "meV");
505 
506     /** Energy.KILOELECTRONVOLT unit type with code 13. */
507     public static final DisplayType ENERGY_KILOELECTRONVOLT =
508             new DisplayType(SerializationUnits.ENERGY, 13, EnergyUnit.KILOELECTRONVOLT, "KILOELECTRONVOLT", "keV");
509 
510     /** Energy.MEGAELECTRONVOLT unit type with code 14. */
511     public static final DisplayType ENERGY_MEGAELECTRONVOLT =
512             new DisplayType(SerializationUnits.ENERGY, 14, EnergyUnit.MEGAELECTRONVOLT, "MEGAELECTRONVOLT", "MeV");
513 
514     /** Energy.GIGAELECTRONVOLT unit type with code 15. */
515     public static final DisplayType ENERGY_GIGAELECTRONVOLT =
516             new DisplayType(SerializationUnits.ENERGY, 15, EnergyUnit.GIGAELECTRONVOLT, "GIGAELECTRONVOLT", "GeV");
517 
518     /** Energy.TERAELECTRONVOLT unit type with code 16. */
519     public static final DisplayType ENERGY_TERAELECTRONVOLT =
520             new DisplayType(SerializationUnits.ENERGY, 16, EnergyUnit.TERAELECTRONVOLT, "TERAELECTRONVOLT", "TeV");
521 
522     /** Energy.PETAELECTRONVOLT unit type with code 17. */
523     public static final DisplayType ENERGY_PETAELECTRONVOLT =
524             new DisplayType(SerializationUnits.ENERGY, 17, EnergyUnit.PETAELECTRONVOLT, "PETAELECTRONVOLT", "PeV");
525 
526     /** Energy.EXAELECTRONVOLT unit type with code 18. */
527     public static final DisplayType ENERGY_EXAELECTRONVOLT =
528             new DisplayType(SerializationUnits.ENERGY, 18, EnergyUnit.EXAELECTRONVOLT, "EXAELECTRONVOLT", "EeV");
529 
530     /** Energy.WATT_HOUR unit type with code 19. */
531     public static final DisplayType ENERGY_WATT_HOUR =
532             new DisplayType(SerializationUnits.ENERGY, 19, EnergyUnit.WATT_HOUR, "WATT_HOUR", "Wh");
533 
534     /** Energy.FEMTOWATT_HOUR unit type with code 20. */
535     public static final DisplayType ENERGY_FEMTOWATT_HOUR =
536             new DisplayType(SerializationUnits.ENERGY, 20, EnergyUnit.FEMTOWATT_HOUR, "FEMTOWATT_HOUR", "fWh");
537 
538     /** Energy.PICOWATT_HOUR unit type with code 21. */
539     public static final DisplayType ENERGY_PICOWATT_HOUR =
540             new DisplayType(SerializationUnits.ENERGY, 21, EnergyUnit.PICOWATT_HOUR, "PICOWATT_HOUR", "pWh");
541 
542     /** Energy.NANOWATT_HOUR unit type with code 22. */
543     public static final DisplayType ENERGY_NANOWATT_HOUR =
544             new DisplayType(SerializationUnits.ENERGY, 22, EnergyUnit.NANOWATT_HOUR, "NANOWATT_HOUR", "mWh");
545 
546     /** Energy.MICROWATT_HOUR unit type with code 23. */
547     public static final DisplayType ENERGY_MICROWATT_HOUR =
548             new DisplayType(SerializationUnits.ENERGY, 23, EnergyUnit.MICROWATT_HOUR, "MICROWATT_HOUR", "μWh");
549 
550     /** Energy.MILLIWATT_HOUR unit type with code 24. */
551     public static final DisplayType ENERGY_MILLIWATT_HOUR =
552             new DisplayType(SerializationUnits.ENERGY, 24, EnergyUnit.MILLIWATT_HOUR, "MILLIWATT_HOUR", "mWh");
553 
554     /** Energy.KILOWATT_HOUR unit type with code 25. */
555     public static final DisplayType ENERGY_KILOWATT_HOUR =
556             new DisplayType(SerializationUnits.ENERGY, 25, EnergyUnit.KILOWATT_HOUR, "KILOWATT_HOUR", "kWh");
557 
558     /** Energy.MEGAWATT_HOUR unit type with code 26. */
559     public static final DisplayType ENERGY_MEGAWATT_HOUR =
560             new DisplayType(SerializationUnits.ENERGY, 26, EnergyUnit.MEGAWATT_HOUR, "MEGAWATT_HOUR", "MWh");
561 
562     /** Energy.GIGAWATT_HOUR unit type with code 27. */
563     public static final DisplayType ENERGY_GIGAWATT_HOUR =
564             new DisplayType(SerializationUnits.ENERGY, 27, EnergyUnit.GIGAWATT_HOUR, "GIGAWATT_HOUR", "GWh");
565 
566     /** Energy.TERAWATT_HOUR unit type with code 28. */
567     public static final DisplayType ENERGY_TERAWATT_HOUR =
568             new DisplayType(SerializationUnits.ENERGY, 28, EnergyUnit.TERAWATT_HOUR, "TERAWATT_HOUR", "TWh");
569 
570     /** Energy.PETAWATT_HOUR unit type with code 29. */
571     public static final DisplayType ENERGY_PETAWATT_HOUR =
572             new DisplayType(SerializationUnits.ENERGY, 29, EnergyUnit.PETAWATT_HOUR, "PETAWATT_HOUR", "PWh");
573 
574     /** Energy.CALORIE unit type with code 30. */
575     public static final DisplayType ENERGY_CALORIE =
576             new DisplayType(SerializationUnits.ENERGY, 30, EnergyUnit.CALORIE, "CALORIE", "cal");
577 
578     /** Energy.KILOCALORIE unit type with code 31. */
579     public static final DisplayType ENERGY_KILOCALORIE =
580             new DisplayType(SerializationUnits.ENERGY, 31, EnergyUnit.KILOCALORIE, "KILOCALORIE", "kcal");
581 
582     /** Energy.CALORIE_IT unit type with code 32. */
583     public static final DisplayType ENERGY_CALORIE_IT =
584             new DisplayType(SerializationUnits.ENERGY, 32, EnergyUnit.CALORIE_IT, "CALORIE_IT", "cal(IT)");
585 
586     /** Energy.INCH_POUND_FORCE unit type with code 33. */
587     public static final DisplayType ENERGY_INCH_POUND_FORCE =
588             new DisplayType(SerializationUnits.ENERGY, 33, EnergyUnit.INCH_POUND_FORCE, "INCH_POUND_FORCE", "in lbf");
589 
590     /** Energy.FOOT_POUND_FORCE unit type with code 34. */
591     public static final DisplayType ENERGY_FOOT_POUND_FORCE =
592             new DisplayType(SerializationUnits.ENERGY, 34, EnergyUnit.FOOT_POUND_FORCE, "FOOT_POUND_FORCE", "ft lbf");
593 
594     /** Energy.ERG unit type with code 35. */
595     public static final DisplayType ENERGY_ERG = new DisplayType(SerializationUnits.ENERGY, 35, EnergyUnit.ERG, "ERG", "erg");
596 
597     /** Energy.BTU_ISO unit type with code 36. */
598     public static final DisplayType ENERGY_BTU_ISO =
599             new DisplayType(SerializationUnits.ENERGY, 36, EnergyUnit.BTU_ISO, "BTU_ISO", "BTU(ISO)");
600 
601     /** Energy.BTU_IT unit type with code 37. */
602     public static final DisplayType ENERGY_BTU_IT =
603             new DisplayType(SerializationUnits.ENERGY, 37, EnergyUnit.BTU_IT, "BTU_IT", "BTU(IT)");
604 
605     /** Energy.STHENE_METER unit type with code 38. */
606     public static final DisplayType ENERGY_STHENE_METER =
607             new DisplayType(SerializationUnits.ENERGY, 38, EnergyUnit.STHENE_METER, "STHENE_METER", "sth.m");
608 
609     /* ==================================================== FLOWMASS ===================================================== */
610 
611     /** FlowMass.KG_PER_SECOND unit type with code 0. */
612     public static final DisplayType FLOWMASS_KG_PER_SECOND =
613             new DisplayType(SerializationUnits.FLOWMASS, 0, FlowMassUnit.KILOGRAM_PER_SECOND, "KG_PER_SECOND", "kg/s");
614 
615     /** FlowMass.POUND_PER_SECOND unit type with code 1. */
616     public static final DisplayType FLOWMASS_POUND_PER_SECOND =
617             new DisplayType(SerializationUnits.FLOWMASS, 1, FlowMassUnit.POUND_PER_SECOND, "POUND_PER_SECOND", "lb/s");
618 
619     /* =================================================== FLOWVOLUME ==================================================== */
620 
621     /** FlowVolume.CUBIC_METER_PER_SECOND unit type with code 0. */
622     public static final DisplayType FLOWVOLUME_CUBIC_METER_PER_SECOND = new DisplayType(SerializationUnits.FLOWVOLUME, 0,
623             FlowVolumeUnit.CUBIC_METER_PER_SECOND, "CUBIC_METER_PER_SECOND", "m3/s");
624 
625     /** FlowVolume.CUBIC_METER_PER_MINUTE unit type with code 1. */
626     public static final DisplayType FLOWVOLUME_CUBIC_METER_PER_MINUTE = new DisplayType(SerializationUnits.FLOWVOLUME, 1,
627             FlowVolumeUnit.CUBIC_METER_PER_MINUTE, "CUBIC_METER_PER_MINUTE", "m3/min");
628 
629     /** FlowVolume.CUBIC_METER_PER_HOUR unit type with code 2. */
630     public static final DisplayType FLOWVOLUME_CUBIC_METER_PER_HOUR = new DisplayType(SerializationUnits.FLOWVOLUME, 2,
631             FlowVolumeUnit.CUBIC_METER_PER_HOUR, "CUBIC_METER_PER_HOUR", "m3/h");
632 
633     /** FlowVolume.CUBIC_METER_PER_DAY unit type with code 3. */
634     public static final DisplayType FLOWVOLUME_CUBIC_METER_PER_DAY = new DisplayType(SerializationUnits.FLOWVOLUME, 3,
635             FlowVolumeUnit.CUBIC_METER_PER_DAY, "CUBIC_METER_PER_DAY", "m3/day");
636 
637     /** FlowVolume.CUBIC_INCH_PER_SECOND unit type with code 4. */
638     public static final DisplayType FLOWVOLUME_CUBIC_INCH_PER_SECOND = new DisplayType(SerializationUnits.FLOWVOLUME, 4,
639             FlowVolumeUnit.CUBIC_INCH_PER_SECOND, "CUBIC_INCH_PER_SECOND", "in3/s");
640 
641     /** FlowVolume.CUBIC_INCH_PER_MINUTE unit type with code 5. */
642     public static final DisplayType FLOWVOLUME_CUBIC_INCH_PER_MINUTE = new DisplayType(SerializationUnits.FLOWVOLUME, 5,
643             FlowVolumeUnit.CUBIC_INCH_PER_MINUTE, "CUBIC_INCH_PER_MINUTE", "in3/min");
644 
645     /** FlowVolume.CUBIC_FEET_PER_SECOND unit type with code 6. */
646     public static final DisplayType FLOWVOLUME_CUBIC_FEET_PER_SECOND = new DisplayType(SerializationUnits.FLOWVOLUME, 6,
647             FlowVolumeUnit.CUBIC_FEET_PER_SECOND, "CUBIC_FEET_PER_SECOND", "ft3/s");
648 
649     /** FlowVolume.CUBIC_FEET_PER_MINUTE unit type with code 7. */
650     public static final DisplayType FLOWVOLUME_CUBIC_FEET_PER_MINUTE = new DisplayType(SerializationUnits.FLOWVOLUME, 7,
651             FlowVolumeUnit.CUBIC_FEET_PER_MINUTE, "CUBIC_FEET_PER_MINUTE", "ft3/min");
652 
653     /** FlowVolume.GALLON_PER_SECOND unit type with code 8. */
654     public static final DisplayType FLOWVOLUME_GALLON_PER_SECOND =
655             new DisplayType(SerializationUnits.FLOWVOLUME, 8, FlowVolumeUnit.GALLON_PER_SECOND, "GALLON_PER_SECOND", "gal/s");
656 
657     /** FlowVolume.GALLON_PER_MINUTE unit type with code 9. */
658     public static final DisplayType FLOWVOLUME_GALLON_PER_MINUTE =
659             new DisplayType(SerializationUnits.FLOWVOLUME, 9, FlowVolumeUnit.GALLON_PER_MINUTE, "GALLON_PER_MINUTE", "gal/min");
660 
661     /** FlowVolume.GALLON_PER_HOUR unit type with code 10. */
662     public static final DisplayType FLOWVOLUME_GALLON_PER_HOUR =
663             new DisplayType(SerializationUnits.FLOWVOLUME, 10, FlowVolumeUnit.GALLON_PER_HOUR, "GALLON_PER_HOUR", "gal/h");
664 
665     /** FlowVolume.GALLON_PER_DAY unit type with code 11. */
666     public static final DisplayType FLOWVOLUME_GALLON_PER_DAY =
667             new DisplayType(SerializationUnits.FLOWVOLUME, 11, FlowVolumeUnit.GALLON_PER_DAY, "GALLON_PER_DAY", "gal/day");
668 
669     /** FlowVolume.LITER_PER_SECOND unit type with code 12. */
670     public static final DisplayType FLOWVOLUME_LITER_PER_SECOND =
671             new DisplayType(SerializationUnits.FLOWVOLUME, 12, FlowVolumeUnit.LITER_PER_SECOND, "LITER_PER_SECOND", "l/s");
672 
673     /** FlowVolume.LITER_PER_MINUTE unit type with code 13. */
674     public static final DisplayType FLOWVOLUME_LITER_PER_MINUTE =
675             new DisplayType(SerializationUnits.FLOWVOLUME, 13, FlowVolumeUnit.LITER_PER_MINUTE, "LITER_PER_MINUTE", "l/min");
676 
677     /** FlowVolume.LITER_PER_HOUR unit type with code 14. */
678     public static final DisplayType FLOWVOLUME_LITER_PER_HOUR =
679             new DisplayType(SerializationUnits.FLOWVOLUME, 14, FlowVolumeUnit.LITER_PER_HOUR, "LITER_PER_HOUR", "l/h");
680 
681     /** FlowVolume.LITER_PER_DAY unit type with code 15. */
682     public static final DisplayType FLOWVOLUME_LITER_PER_DAY =
683             new DisplayType(SerializationUnits.FLOWVOLUME, 15, FlowVolumeUnit.LITER_PER_DAY, "LITER_PER_DAY", "l/day");
684 
685     /* ===================================================== FORCE ======================================================= */
686 
687     /** Force.NEWTON unit type with code 0. */
688     public static final DisplayType FORCE_NEWTON =
689             new DisplayType(SerializationUnits.FORCE, 0, ForceUnit.NEWTON, "NEWTON", "N");
690 
691     /** Force.KILOGRAM_FORCE unit type with code 1. */
692     public static final DisplayType FORCE_KILOGRAM_FORCE =
693             new DisplayType(SerializationUnits.FORCE, 1, ForceUnit.KILOGRAM_FORCE, "KILOGRAM_FORCE", "kgf");
694 
695     /** Force.OUNCE_FORCE unit type with code 2. */
696     public static final DisplayType FORCE_OUNCE_FORCE =
697             new DisplayType(SerializationUnits.FORCE, 2, ForceUnit.OUNCE_FORCE, "OUNCE_FORCE", "ozf");
698 
699     /** Force.POUND_FORCE unit type with code 3. */
700     public static final DisplayType FORCE_POUND_FORCE =
701             new DisplayType(SerializationUnits.FORCE, 3, ForceUnit.POUND_FORCE, "POUND_FORCE", "lbf");
702 
703     /** Force.TON_FORCE unit type with code 4. */
704     public static final DisplayType FORCE_TON_FORCE =
705             new DisplayType(SerializationUnits.FORCE, 4, ForceUnit.TON_FORCE, "TON_FORCE", "tnf");
706 
707     /** Force.DYNE unit type with code 5. */
708     public static final DisplayType FORCE_DYNE = new DisplayType(SerializationUnits.FORCE, 5, ForceUnit.DYNE, "DYNE", "dyne");
709 
710     /** Force.STHENE unit type with code 6. */
711     public static final DisplayType FORCE_STHENE =
712             new DisplayType(SerializationUnits.FORCE, 6, ForceUnit.STHENE, "STHENE", "sth");
713 
714     /* =================================================== FREQUENCY ===================================================== */
715 
716     /** Frequency.HERTZ unit type with code 0. */
717     public static final DisplayType FREQUENCY_HERTZ =
718             new DisplayType(SerializationUnits.FREQUENCY, 0, FrequencyUnit.HERTZ, "HERTZ", "Hz");
719 
720     /** Frequency.KILOHERTZ unit type with code 1. */
721     public static final DisplayType FREQUENCY_KILOHERTZ =
722             new DisplayType(SerializationUnits.FREQUENCY, 1, FrequencyUnit.KILOHERTZ, "KILOHERTZ", "kHz");
723 
724     /** Frequency.MEGAHERTZ unit type with code 2. */
725     public static final DisplayType FREQUENCY_MEGAHERTZ =
726             new DisplayType(SerializationUnits.FREQUENCY, 2, FrequencyUnit.MEGAHERTZ, "MEGAHERTZ", "MHz");
727 
728     /** Frequency.GIGAHERTZ unit type with code 3. */
729     public static final DisplayType FREQUENCY_GIGAHERTZ =
730             new DisplayType(SerializationUnits.FREQUENCY, 3, FrequencyUnit.GIGAHERTZ, "GIGAHERTZ", "GHz");
731 
732     /** Frequency.TERAHERTZ unit type with code 4. */
733     public static final DisplayType FREQUENCY_TERAHERTZ =
734             new DisplayType(SerializationUnits.FREQUENCY, 4, FrequencyUnit.TERAHERTZ, "TERAHERTZ", "THz");
735 
736     /** Frequency.PER_SECOND unit type with code 5. */
737     public static final DisplayType FREQUENCY_PER_SECOND =
738             new DisplayType(SerializationUnits.FREQUENCY, 5, FrequencyUnit.PER_SECOND, "PER_SECOND", "1/s");
739 
740     /** Frequency.PER_ATTOSECOND unit type with code 6. */
741     public static final DisplayType FREQUENCY_PER_ATTOSECOND =
742             new DisplayType(SerializationUnits.FREQUENCY, 6, FrequencyUnit.PER_ATTOSECOND, "PER_ATTOSECOND", "1/as");
743 
744     /** Frequency.PER_FEMTOSECOND unit type with code 7. */
745     public static final DisplayType FREQUENCY_PER_FEMTOSECOND =
746             new DisplayType(SerializationUnits.FREQUENCY, 7, FrequencyUnit.PER_FEMTOSECOND, "PER_FEMTOSECOND", "1/fs");
747 
748     /** Frequency.PER_PICOSECOND unit type with code 8. */
749     public static final DisplayType FREQUENCY_PER_PICOSECOND =
750             new DisplayType(SerializationUnits.FREQUENCY, 8, FrequencyUnit.PER_PICOSECOND, "PER_PICOSECOND", "1/ps");
751 
752     /** Frequency.PER_NANOSECOND unit type with code 9. */
753     public static final DisplayType FREQUENCY_PER_NANOSECOND =
754             new DisplayType(SerializationUnits.FREQUENCY, 9, FrequencyUnit.PER_NANOSECOND, "PER_NANOSECOND", "1/ns");
755 
756     /** Frequency.PER_MICROSECOND unit type with code 10. */
757     public static final DisplayType FREQUENCY_PER_MICROSECOND =
758             new DisplayType(SerializationUnits.FREQUENCY, 10, FrequencyUnit.PER_MICROSECOND, "PER_MICROSECOND", "1/μs");
759 
760     /** Frequency.PER_MILLISECOND unit type with code 11. */
761     public static final DisplayType FREQUENCY_PER_MILLISECOND =
762             new DisplayType(SerializationUnits.FREQUENCY, 11, FrequencyUnit.PER_MILLISECOND, "PER_MILLISECOND", "1/ms");
763 
764     /** Frequency.PER_MINUTE unit type with code 12. */
765     public static final DisplayType FREQUENCY_PER_MINUTE =
766             new DisplayType(SerializationUnits.FREQUENCY, 12, FrequencyUnit.PER_MINUTE, "PER_MINUTE", "1/min");
767 
768     /** Frequency.PER_HOUR unit type with code 13. */
769     public static final DisplayType FREQUENCY_PER_HOUR =
770             new DisplayType(SerializationUnits.FREQUENCY, 13, FrequencyUnit.PER_HOUR, "PER_HOUR", "1/hr");
771 
772     /** Frequency.PER_DAY unit type with code 14. */
773     public static final DisplayType FREQUENCY_PER_DAY =
774             new DisplayType(SerializationUnits.FREQUENCY, 14, FrequencyUnit.PER_DAY, "PER_DAY", "1/day");
775 
776     /** Frequency.PER_WEEK unit type with code 15. */
777     public static final DisplayType FREQUENCY_PER_WEEK =
778             new DisplayType(SerializationUnits.FREQUENCY, 15, FrequencyUnit.PER_WEEK, "PER_WEEK", "1/wk");
779 
780     /** Frequency.RPM unit type with code 16. */
781     public static final DisplayType FREQUENCY_RPM =
782             new DisplayType(SerializationUnits.FREQUENCY, 16, FrequencyUnit.RPM, "RPM", "rpm");
783 
784     /* ===================================================== LENGTH ====================================================== */
785 
786     /** Length.METER unit type with code 0. */
787     public static final DisplayType LENGTH_METER =
788             new DisplayType(SerializationUnits.LENGTH, 0, LengthUnit.METER, "METER", "m");
789 
790     /** Length.ATTOMETER unit type with code 1. */
791     public static final DisplayType LENGTH_ATTOMETER =
792             new DisplayType(SerializationUnits.LENGTH, 1, LengthUnit.ATTOMETER, "ATTOMETER", "am");
793 
794     /** Length.FEMTOMETER unit type with code 2. */
795     public static final DisplayType LENGTH_FEMTOMETER =
796             new DisplayType(SerializationUnits.LENGTH, 2, LengthUnit.FEMTOMETER, "FEMTOMETER", "fm");
797 
798     /** Length.PICOMETER unit type with code 3. */
799     public static final DisplayType LENGTH_PICOMETER =
800             new DisplayType(SerializationUnits.LENGTH, 3, LengthUnit.PICOMETER, "PICOMETER", "pm");
801 
802     /** Length.NANOMETER unit type with code 4. */
803     public static final DisplayType LENGTH_NANOMETER =
804             new DisplayType(SerializationUnits.LENGTH, 4, LengthUnit.NANOMETER, "NANOMETER", "nm");
805 
806     /** Length.MICROMETER unit type with code 5. */
807     public static final DisplayType LENGTH_MICROMETER =
808             new DisplayType(SerializationUnits.LENGTH, 5, LengthUnit.MICROMETER, "MICROMETER", "μm");
809 
810     /** Length.MILLIMETER unit type with code 6. */
811     public static final DisplayType LENGTH_MILLIMETER =
812             new DisplayType(SerializationUnits.LENGTH, 6, LengthUnit.MILLIMETER, "MILLIMETER", "mm");
813 
814     /** Length.CENTIMETER unit type with code 7. */
815     public static final DisplayType LENGTH_CENTIMETER =
816             new DisplayType(SerializationUnits.LENGTH, 7, LengthUnit.CENTIMETER, "CENTIMETER", "cm");
817 
818     /** Length.DECIMETER unit type with code 8. */
819     public static final DisplayType LENGTH_DECIMETER =
820             new DisplayType(SerializationUnits.LENGTH, 8, LengthUnit.DECIMETER, "DECIMETER", "dm");
821 
822     /** Length.DEKAMETER unit type with code 9. */
823     public static final DisplayType LENGTH_DEKAMETER =
824             new DisplayType(SerializationUnits.LENGTH, 9, LengthUnit.DEKAMETER, "DEKAMETER", "dam");
825 
826     /** Length.HECTOMETER unit type with code 10. */
827     public static final DisplayType LENGTH_HECTOMETER =
828             new DisplayType(SerializationUnits.LENGTH, 10, LengthUnit.HECTOMETER, "HECTOMETER", "hm");
829 
830     /** Length.KILOMETER unit type with code 11. */
831     public static final DisplayType LENGTH_KILOMETER =
832             new DisplayType(SerializationUnits.LENGTH, 11, LengthUnit.KILOMETER, "KILOMETER", "km");
833 
834     /** Length.MEGAMETER unit type with code 12. */
835     public static final DisplayType LENGTH_MEGAMETER =
836             new DisplayType(SerializationUnits.LENGTH, 12, LengthUnit.MEGAMETER, "MEGAMETER", "Mm");
837 
838     /** Length.INCH unit type with code 13. */
839     public static final DisplayType LENGTH_INCH = new DisplayType(SerializationUnits.LENGTH, 13, LengthUnit.INCH, "INCH", "in");
840 
841     /** Length.FOOT unit type with code 14. */
842     public static final DisplayType LENGTH_FOOT = new DisplayType(SerializationUnits.LENGTH, 14, LengthUnit.FOOT, "FOOT", "ft");
843 
844     /** Length.YARD unit type with code 15. */
845     public static final DisplayType LENGTH_YARD = new DisplayType(SerializationUnits.LENGTH, 15, LengthUnit.YARD, "YARD", "yd");
846 
847     /** Length.MILE unit type with code 16. */
848     public static final DisplayType LENGTH_MILE = new DisplayType(SerializationUnits.LENGTH, 16, LengthUnit.MILE, "MILE", "mi");
849 
850     /** Length.NAUTICAL_MILE unit type with code 17. */
851     public static final DisplayType LENGTH_NAUTICAL_MILE =
852             new DisplayType(SerializationUnits.LENGTH, 17, LengthUnit.NAUTICAL_MILE, "NAUTICAL_MILE", "NM");
853 
854     /** Length.ASTRONOMICAL_UNIT unit type with code 18. */
855     public static final DisplayType LENGTH_ASTRONOMICAL_UNIT =
856             new DisplayType(SerializationUnits.LENGTH, 18, LengthUnit.ASTRONOMICAL_UNIT, "ASTRONOMICAL_UNIT", "au");
857 
858     /** Length.PARSEC unit type with code 19. */
859     public static final DisplayType LENGTH_PARSEC =
860             new DisplayType(SerializationUnits.LENGTH, 19, LengthUnit.PARSEC, "PARSEC", "pc");
861 
862     /** Length.LIGHTYEAR unit type with code 20. */
863     public static final DisplayType LENGTH_LIGHTYEAR =
864             new DisplayType(SerializationUnits.LENGTH, 20, LengthUnit.LIGHTYEAR, "LIGHTYEAR", "ly");
865 
866     /** Length.ANGSTROM unit type with code 21. */
867     public static final DisplayType LENGTH_ANGSTROM =
868             new DisplayType(SerializationUnits.LENGTH, 21, LengthUnit.ANGSTROM, "ANGSTROM", "Å");
869 
870     /* ==================================================== POSITION ===================================================== */
871 
872     /** Position.METER unit type with code 0. */
873     public static final DisplayType POSITION_METER =
874             new DisplayType(SerializationUnits.POSITION, 0, PositionUnit.METER, "METER", "m");
875 
876     /** Position.ATTOMETER unit type with code 1. */
877     public static final DisplayType POSITION_ATTOMETER =
878             new DisplayType(SerializationUnits.POSITION, 1, PositionUnit.ATTOMETER, "ATTOMETER", "am");
879 
880     /** Position.FEMTOMETER unit type with code 2. */
881     public static final DisplayType POSITION_FEMTOMETER =
882             new DisplayType(SerializationUnits.POSITION, 2, PositionUnit.FEMTOMETER, "FEMTOMETER", "fm");
883 
884     /** Position.PICOMETER unit type with code 3. */
885     public static final DisplayType POSITION_PICOMETER =
886             new DisplayType(SerializationUnits.POSITION, 3, PositionUnit.PICOMETER, "PICOMETER", "pm");
887 
888     /** Position.NANOMETER unit type with code 4. */
889     public static final DisplayType POSITION_NANOMETER =
890             new DisplayType(SerializationUnits.POSITION, 4, PositionUnit.NANOMETER, "NANOMETER", "nm");
891 
892     /** Position.MICROMETER unit type with code 5. */
893     public static final DisplayType POSITION_MICROMETER =
894             new DisplayType(SerializationUnits.POSITION, 5, PositionUnit.MICROMETER, "MICROMETER", "μm");
895 
896     /** Position.MILLIMETER unit type with code 6. */
897     public static final DisplayType POSITION_MILLIMETER =
898             new DisplayType(SerializationUnits.POSITION, 6, PositionUnit.MILLIMETER, "MILLIMETER", "mm");
899 
900     /** Position.CENTIMETER unit type with code 7. */
901     public static final DisplayType POSITION_CENTIMETER =
902             new DisplayType(SerializationUnits.POSITION, 7, PositionUnit.CENTIMETER, "CENTIMETER", "cm");
903 
904     /** Position.DECIMETER unit type with code 8. */
905     public static final DisplayType POSITION_DECIMETER =
906             new DisplayType(SerializationUnits.POSITION, 8, PositionUnit.DECIMETER, "DECIMETER", "dm");
907 
908     /** Position.DEKAMETER unit type with code 9. */
909     public static final DisplayType POSITION_DEKAMETER =
910             new DisplayType(SerializationUnits.POSITION, 9, PositionUnit.DEKAMETER, "DEKAMETER", "dam");
911 
912     /** Position.HECTOMETER unit type with code 10. */
913     public static final DisplayType POSITION_HECTOMETER =
914             new DisplayType(SerializationUnits.POSITION, 10, PositionUnit.HECTOMETER, "HECTOMETER", "hm");
915 
916     /** Position.KILOMETER unit type with code 11. */
917     public static final DisplayType POSITION_KILOMETER =
918             new DisplayType(SerializationUnits.POSITION, 11, PositionUnit.KILOMETER, "KILOMETER", "km");
919 
920     /** Position.MEGAMETER unit type with code 12. */
921     public static final DisplayType POSITION_MEGAMETER =
922             new DisplayType(SerializationUnits.POSITION, 12, PositionUnit.MEGAMETER, "MEGAMETER", "Mm");
923 
924     /** Position.INCH unit type with code 13. */
925     public static final DisplayType POSITION_INCH =
926             new DisplayType(SerializationUnits.POSITION, 13, PositionUnit.INCH, "INCH", "in");
927 
928     /** Position.FOOT unit type with code 14. */
929     public static final DisplayType POSITION_FOOT =
930             new DisplayType(SerializationUnits.POSITION, 14, PositionUnit.FOOT, "FOOT", "ft");
931 
932     /** Position.YARD unit type with code 15. */
933     public static final DisplayType POSITION_YARD =
934             new DisplayType(SerializationUnits.POSITION, 15, PositionUnit.YARD, "YARD", "yd");
935 
936     /** Position.MILE unit type with code 16. */
937     public static final DisplayType POSITION_MILE =
938             new DisplayType(SerializationUnits.POSITION, 16, PositionUnit.MILE, "MILE", "mi");
939 
940     /** Position.NAUTICAL_MILE unit type with code 17. */
941     public static final DisplayType POSITION_NAUTICAL_MILE =
942             new DisplayType(SerializationUnits.POSITION, 17, PositionUnit.NAUTICAL_MILE, "NAUTICAL_MILE", "NM");
943 
944     /** Position.ASTRONOMICAL_UNIT unit type with code 18. */
945     public static final DisplayType POSITION_ASTRONOMICAL_UNIT =
946             new DisplayType(SerializationUnits.POSITION, 18, PositionUnit.ASTRONOMICAL_UNIT, "ASTRONOMICAL_UNIT", "au");
947 
948     /** Position.PARSEC unit type with code 19. */
949     public static final DisplayType POSITION_PARSEC =
950             new DisplayType(SerializationUnits.POSITION, 19, PositionUnit.PARSEC, "PARSEC", "pc");
951 
952     /** Position.LIGHTYEAR unit type with code 20. */
953     public static final DisplayType POSITION_LIGHTYEAR =
954             new DisplayType(SerializationUnits.POSITION, 20, PositionUnit.LIGHTYEAR, "LIGHTYEAR", "ly");
955 
956     /** Position.ANGSTROM unit type with code 21. */
957     public static final DisplayType POSITION_ANGSTROM =
958             new DisplayType(SerializationUnits.POSITION, 21, PositionUnit.ANGSTROM, "ANGSTROM", "Å");
959 
960     /* ================================================== LINEARDENSITY ================================================== */
961 
962     /** LinearDensity.PER_METER unit type with code 0. */
963     public static final DisplayType LINEARDENSITY_PER_METER =
964             new DisplayType(SerializationUnits.LINEARDENSITY, 0, LinearDensityUnit.PER_METER, "PER_METER", "1/m");
965 
966     /** LinearDensity.PER_ATTOMETER unit type with code 1. */
967     public static final DisplayType LINEARDENSITY_PER_ATTOMETER =
968             new DisplayType(SerializationUnits.LINEARDENSITY, 1, LinearDensityUnit.PER_ATTOMETER, "PER_ATTOMETER", "1/am");
969 
970     /** LinearDensity.PER_FEMTOMETER unit type with code 2. */
971     public static final DisplayType LINEARDENSITY_PER_FEMTOMETER =
972             new DisplayType(SerializationUnits.LINEARDENSITY, 2, LinearDensityUnit.PER_FEMTOMETER, "PER_FEMTOMETER", "1/fm");
973 
974     /** LinearDensity.PER_PICOMETER unit type with code 3. */
975     public static final DisplayType LINEARDENSITY_PER_PICOMETER =
976             new DisplayType(SerializationUnits.LINEARDENSITY, 3, LinearDensityUnit.PER_PICOMETER, "PER_PICOMETER", "1/pm");
977 
978     /** LinearDensity.PER_NANOMETER unit type with code 4. */
979     public static final DisplayType LINEARDENSITY_PER_NANOMETER =
980             new DisplayType(SerializationUnits.LINEARDENSITY, 4, LinearDensityUnit.PER_NANOMETER, "PER_NANOMETER", "1/nm");
981 
982     /** LinearDensity.PER_MICROMETER unit type with code 5. */
983     public static final DisplayType LINEARDENSITY_PER_MICROMETER =
984             new DisplayType(SerializationUnits.LINEARDENSITY, 5, LinearDensityUnit.PER_MICROMETER, "PER_MICROMETER", "1/μm");
985 
986     /** LinearDensity.PER_MILLIMETER unit type with code 6. */
987     public static final DisplayType LINEARDENSITY_PER_MILLIMETER =
988             new DisplayType(SerializationUnits.LINEARDENSITY, 6, LinearDensityUnit.PER_MILLIMETER, "PER_MILLIMETER", "1/mm");
989 
990     /** LinearDensity.PER_CENTIMETER unit type with code 7. */
991     public static final DisplayType LINEARDENSITY_PER_CENTIMETER =
992             new DisplayType(SerializationUnits.LINEARDENSITY, 7, LinearDensityUnit.PER_CENTIMETER, "PER_CENTIMETER", "1/cm");
993 
994     /** LinearDensity.PER_DECIMETER unit type with code 8. */
995     public static final DisplayType LINEARDENSITY_PER_DECIMETER =
996             new DisplayType(SerializationUnits.LINEARDENSITY, 8, LinearDensityUnit.PER_DECIMETER, "PER_DECIMETER", "1/dm");
997 
998     /** LinearDensity.PER_DEKAMETER unit type with code 9. */
999     public static final DisplayType LINEARDENSITY_PER_DEKAMETER =
1000             new DisplayType(SerializationUnits.LINEARDENSITY, 9, LinearDensityUnit.PER_DEKAMETER, "PER_DEKAMETER", "1/dam");
1001 
1002     /** LinearDensity.PER_HECTOMETER unit type with code 10. */
1003     public static final DisplayType LINEARDENSITY_PER_HECTOMETER =
1004             new DisplayType(SerializationUnits.LINEARDENSITY, 10, LinearDensityUnit.PER_HECTOMETER, "PER_HECTOMETER", "1/hm");
1005 
1006     /** LinearDensity.PER_KILOMETER unit type with code 11. */
1007     public static final DisplayType LINEARDENSITY_PER_KILOMETER =
1008             new DisplayType(SerializationUnits.LINEARDENSITY, 11, LinearDensityUnit.PER_KILOMETER, "PER_KILOMETER", "1/km");
1009 
1010     /** LinearDensity.PER_MEGAMETER unit type with code 12. */
1011     public static final DisplayType LINEARDENSITY_PER_MEGAMETER =
1012             new DisplayType(SerializationUnits.LINEARDENSITY, 12, LinearDensityUnit.PER_MEGAMETER, "PER_MEGAMETER", "1/Mm");
1013 
1014     /** LinearDensity.PER_INCH unit type with code 13. */
1015     public static final DisplayType LINEARDENSITY_PER_INCH =
1016             new DisplayType(SerializationUnits.LINEARDENSITY, 13, LinearDensityUnit.PER_INCH, "PER_INCH", "1/in");
1017 
1018     /** LinearDensity.PER_FOOT unit type with code 14. */
1019     public static final DisplayType LINEARDENSITY_PER_FOOT =
1020             new DisplayType(SerializationUnits.LINEARDENSITY, 14, LinearDensityUnit.PER_FOOT, "PER_FOOT", "1/ft");
1021 
1022     /** LinearDensity.PER_YARD unit type with code 15. */
1023     public static final DisplayType LINEARDENSITY_PER_YARD =
1024             new DisplayType(SerializationUnits.LINEARDENSITY, 15, LinearDensityUnit.PER_YARD, "PER_YARD", "1/yd");
1025 
1026     /** LinearDensity.PER_MILE unit type with code 16. */
1027     public static final DisplayType LINEARDENSITY_PER_MILE =
1028             new DisplayType(SerializationUnits.LINEARDENSITY, 16, LinearDensityUnit.PER_MILE, "PER_MILE", "1/mi");
1029 
1030     /** LinearDensity.PER_NAUTICAL_MILE unit type with code 17. */
1031     public static final DisplayType LINEARDENSITY_PER_NAUTICAL_MILE = new DisplayType(SerializationUnits.LINEARDENSITY, 17,
1032             LinearDensityUnit.PER_NAUTICAL_MILE, "PER_NAUTICAL_MILE", "1/NM");
1033 
1034     /** LinearDensity.PER_ASTRONOMICAL_UNIT unit type with code 18. */
1035     public static final DisplayType LINEARDENSITY_PER_ASTRONOMICAL_UNIT = new DisplayType(SerializationUnits.LINEARDENSITY, 18,
1036             LinearDensityUnit.PER_ASTRONOMICAL_UNIT, "PER_ASTRONOMICAL_UNIT", "1/au");
1037 
1038     /** LinearDensity.PER_PARSEC unit type with code 19. */
1039     public static final DisplayType LINEARDENSITY_PER_PARSEC =
1040             new DisplayType(SerializationUnits.LINEARDENSITY, 19, LinearDensityUnit.PER_PARSEC, "PER_PARSEC", "1/pc");
1041 
1042     /** LinearDensity.PER_LIGHTYEAR unit type with code 20. */
1043     public static final DisplayType LINEARDENSITY_PER_LIGHTYEAR =
1044             new DisplayType(SerializationUnits.LINEARDENSITY, 20, LinearDensityUnit.PER_LIGHTYEAR, "PER_LIGHTYEAR", "1/ly");
1045 
1046     /** LinearDensity.PER_ANGSTROM unit type with code 21. */
1047     public static final DisplayType LINEARDENSITY_PER_ANGSTROM =
1048             new DisplayType(SerializationUnits.LINEARDENSITY, 21, LinearDensityUnit.PER_ANGSTROM, "PER_ANGSTROM", "1/Å");
1049 
1050     /* ====================================================== MASS ======================================================= */
1051 
1052     /** Mass.KILOGRAM unit type with code 0. */
1053     public static final DisplayType MASS_KILOGRAM =
1054             new DisplayType(SerializationUnits.MASS, 0, MassUnit.KILOGRAM, "KILOGRAM", "kg");
1055 
1056     /** Mass.FEMTOGRAM unit type with code 1. */
1057     public static final DisplayType MASS_FEMTOGRAM =
1058             new DisplayType(SerializationUnits.MASS, 1, MassUnit.FEMTOGRAM, "FEMTOGRAM", "fg");
1059 
1060     /** Mass.PICOGRAM unit type with code 2. */
1061     public static final DisplayType MASS_PICOGRAM =
1062             new DisplayType(SerializationUnits.MASS, 2, MassUnit.PICOGRAM, "PICOGRAM", "pg");
1063 
1064     /** Mass.NANOGRAM unit type with code 3. */
1065     public static final DisplayType MASS_NANOGRAM =
1066             new DisplayType(SerializationUnits.MASS, 3, MassUnit.NANOGRAM, "NANOGRAM", "mg");
1067 
1068     /** Mass.MICROGRAM unit type with code 4. */
1069     public static final DisplayType MASS_MICROGRAM =
1070             new DisplayType(SerializationUnits.MASS, 4, MassUnit.MICROGRAM, "MICROGRAM", "μg");
1071 
1072     /** Mass.MILLIGRAM unit type with code 5. */
1073     public static final DisplayType MASS_MILLIGRAM =
1074             new DisplayType(SerializationUnits.MASS, 5, MassUnit.MILLIGRAM, "MILLIGRAM", "mg");
1075 
1076     /** Mass.GRAM unit type with code 6. */
1077     public static final DisplayType MASS_GRAM = new DisplayType(SerializationUnits.MASS, 6, MassUnit.GRAM, "GRAM", "kg");
1078 
1079     /** Mass.MEGAGRAM unit type with code 7. */
1080     public static final DisplayType MASS_MEGAGRAM =
1081             new DisplayType(SerializationUnits.MASS, 7, MassUnit.MEGAGRAM, "MEGAGRAM", "Mg");
1082 
1083     /** Mass.GIGAGRAM unit type with code 8. */
1084     public static final DisplayType MASS_GIGAGRAM =
1085             new DisplayType(SerializationUnits.MASS, 8, MassUnit.GIGAGRAM, "GIGAGRAM", "Gg");
1086 
1087     /** Mass.TERAGRAM unit type with code 9. */
1088     public static final DisplayType MASS_TERAGRAM =
1089             new DisplayType(SerializationUnits.MASS, 9, MassUnit.TERAGRAM, "TERAGRAM", "Tg");
1090 
1091     /** Mass.PETAGRAM unit type with code 10. */
1092     public static final DisplayType MASS_PETAGRAM =
1093             new DisplayType(SerializationUnits.MASS, 10, MassUnit.PETAGRAM, "PETAGRAM", "Pg");
1094 
1095     /** Mass.MICROELECTRONVOLT unit type with code 11. */
1096     public static final DisplayType MASS_MICROELECTRONVOLT =
1097             new DisplayType(SerializationUnits.MASS, 11, MassUnit.MICROELECTRONVOLT, "MICROELECTRONVOLT", "μeV");
1098 
1099     /** Mass.MILLIELECTRONVOLT unit type with code 12. */
1100     public static final DisplayType MASS_MILLIELECTRONVOLT =
1101             new DisplayType(SerializationUnits.MASS, 12, MassUnit.MILLIELECTRONVOLT, "MILLIELECTRONVOLT", "meV");
1102 
1103     /** Mass.ELECTRONVOLT unit type with code 13. */
1104     public static final DisplayType MASS_ELECTRONVOLT =
1105             new DisplayType(SerializationUnits.MASS, 13, MassUnit.ELECTRONVOLT, "ELECTRONVOLT", "eV");
1106 
1107     /** Mass.KILOELECTRONVOLT unit type with code 14. */
1108     public static final DisplayType MASS_KILOELECTRONVOLT =
1109             new DisplayType(SerializationUnits.MASS, 14, MassUnit.KILOELECTRONVOLT, "KILOELECTRONVOLT", "keV");
1110 
1111     /** Mass.MEGAELECTRONVOLT unit type with code 15. */
1112     public static final DisplayType MASS_MEGAELECTRONVOLT =
1113             new DisplayType(SerializationUnits.MASS, 15, MassUnit.MEGAELECTRONVOLT, "MEGAELECTRONVOLT", "MeV");
1114 
1115     /** Mass.GIGAELECTRONVOLT unit type with code 16. */
1116     public static final DisplayType MASS_GIGAELECTRONVOLT =
1117             new DisplayType(SerializationUnits.MASS, 16, MassUnit.GIGAELECTRONVOLT, "GIGAELECTRONVOLT", "GeV");
1118 
1119     /** Mass.TERAELECTRONVOLT unit type with code 17. */
1120     public static final DisplayType MASS_TERAELECTRONVOLT =
1121             new DisplayType(SerializationUnits.MASS, 17, MassUnit.TERAELECTRONVOLT, "TERAELECTRONVOLT", "TeV");
1122 
1123     /** Mass.PETAELECTRONVOLT unit type with code 18. */
1124     public static final DisplayType MASS_PETAELECTRONVOLT =
1125             new DisplayType(SerializationUnits.MASS, 18, MassUnit.PETAELECTRONVOLT, "PETAELECTRONVOLT", "PeV");
1126 
1127     /** Mass.EXAELECTRONVOLT unit type with code 19. */
1128     public static final DisplayType MASS_EXAELECTRONVOLT =
1129             new DisplayType(SerializationUnits.MASS, 19, MassUnit.EXAELECTRONVOLT, "EXAELECTRONVOLT", "EeV");
1130 
1131     /** Mass.OUNCE unit type with code 20. */
1132     public static final DisplayType MASS_OUNCE = new DisplayType(SerializationUnits.MASS, 20, MassUnit.OUNCE, "OUNCE", "oz");
1133 
1134     /** Mass.POUND unit type with code 21. */
1135     public static final DisplayType MASS_POUND = new DisplayType(SerializationUnits.MASS, 21, MassUnit.POUND, "POUND", "lb");
1136 
1137     /** Mass.DALTON unit type with code 22. */
1138     public static final DisplayType MASS_DALTON = new DisplayType(SerializationUnits.MASS, 22, MassUnit.DALTON, "DALTON", "Da");
1139 
1140     /** Mass.TON_LONG unit type with code 23. */
1141     public static final DisplayType MASS_TON_LONG =
1142             new DisplayType(SerializationUnits.MASS, 23, MassUnit.TON_LONG, "TON_LONG", "ton (long)");
1143 
1144     /** Mass.TON_SHORT unit type with code 24. */
1145     public static final DisplayType MASS_TON_SHORT =
1146             new DisplayType(SerializationUnits.MASS, 24, MassUnit.TON_SHORT, "TON_SHORT", "ton (short)");
1147 
1148     /** Mass.TONNE unit type with code 25. */
1149     public static final DisplayType MASS_TONNE = new DisplayType(SerializationUnits.MASS, 25, MassUnit.TONNE, "TONNE", "tonne");
1150 
1151     /* ===================================================== POWER ======================================================= */
1152 
1153     /** Power.WATT unit type with code 0. */
1154     public static final DisplayType POWER_WATT = new DisplayType(SerializationUnits.POWER, 0, PowerUnit.WATT, "WATT", "W");
1155 
1156     /** Power.FEMTOWATT unit type with code 1. */
1157     public static final DisplayType POWER_FEMTOWATT =
1158             new DisplayType(SerializationUnits.POWER, 1, PowerUnit.FEMTOWATT, "FEMTOWATT", "fW");
1159 
1160     /** Power.PICOWATT unit type with code 2. */
1161     public static final DisplayType POWER_PICOWATT =
1162             new DisplayType(SerializationUnits.POWER, 2, PowerUnit.PICOWATT, "PICOWATT", "pW");
1163 
1164     /** Power.NANOWATT unit type with code 3. */
1165     public static final DisplayType POWER_NANOWATT =
1166             new DisplayType(SerializationUnits.POWER, 3, PowerUnit.NANOWATT, "NANOWATT", "mW");
1167 
1168     /** Power.MICROWATT unit type with code 4. */
1169     public static final DisplayType POWER_MICROWATT =
1170             new DisplayType(SerializationUnits.POWER, 4, PowerUnit.MICROWATT, "MICROWATT", "μW");
1171 
1172     /** Power.MILLIWATT unit type with code 5. */
1173     public static final DisplayType POWER_MILLIWATT =
1174             new DisplayType(SerializationUnits.POWER, 5, PowerUnit.MILLIWATT, "MILLIWATT", "mW");
1175 
1176     /** Power.KILOWATT unit type with code 6. */
1177     public static final DisplayType POWER_KILOWATT =
1178             new DisplayType(SerializationUnits.POWER, 6, PowerUnit.KILOWATT, "KILOWATT", "kW");
1179 
1180     /** Power.MEGAWATT unit type with code 7. */
1181     public static final DisplayType POWER_MEGAWATT =
1182             new DisplayType(SerializationUnits.POWER, 7, PowerUnit.MEGAWATT, "MEGAWATT", "MW");
1183 
1184     /** Power.GIGAWATT unit type with code 8. */
1185     public static final DisplayType POWER_GIGAWATT =
1186             new DisplayType(SerializationUnits.POWER, 8, PowerUnit.GIGAWATT, "GIGAWATT", "GW");
1187 
1188     /** Power.TERAWATT unit type with code 9. */
1189     public static final DisplayType POWER_TERAWATT =
1190             new DisplayType(SerializationUnits.POWER, 9, PowerUnit.TERAWATT, "TERAWATT", "TW");
1191 
1192     /** Power.PETAWATT unit type with code 10. */
1193     public static final DisplayType POWER_PETAWATT =
1194             new DisplayType(SerializationUnits.POWER, 10, PowerUnit.PETAWATT, "PETAWATT", "PW");
1195 
1196     /** Power.ERG_PER_SECOND unit type with code 11. */
1197     public static final DisplayType POWER_ERG_PER_SECOND =
1198             new DisplayType(SerializationUnits.POWER, 11, PowerUnit.ERG_PER_SECOND, "ERG_PER_SECOND", "erg/s");
1199 
1200     /** Power.FOOT_POUND_FORCE_PER_SECOND unit type with code 12. */
1201     public static final DisplayType POWER_FOOT_POUND_FORCE_PER_SECOND = new DisplayType(SerializationUnits.POWER, 12,
1202             PowerUnit.FOOT_POUND_FORCE_PER_SECOND, "FOOT_POUND_FORCE_PER_SECOND", "ft.lbf/s");
1203 
1204     /** Power.FOOT_POUND_FORCE_PER_MINUTE unit type with code 13. */
1205     public static final DisplayType POWER_FOOT_POUND_FORCE_PER_MINUTE = new DisplayType(SerializationUnits.POWER, 13,
1206             PowerUnit.FOOT_POUND_FORCE_PER_MINUTE, "FOOT_POUND_FORCE_PER_MINUTE", "ft.lbf/min");
1207 
1208     /** Power.FOOT_POUND_FORCE_PER_HOUR unit type with code 14. */
1209     public static final DisplayType POWER_FOOT_POUND_FORCE_PER_HOUR = new DisplayType(SerializationUnits.POWER, 14,
1210             PowerUnit.FOOT_POUND_FORCE_PER_HOUR, "FOOT_POUND_FORCE_PER_HOUR", "ft.lbf/h");
1211 
1212     /** Power.HORSEPOWER_METRIC unit type with code 15. */
1213     public static final DisplayType POWER_HORSEPOWER_METRIC =
1214             new DisplayType(SerializationUnits.POWER, 15, PowerUnit.HORSEPOWER_METRIC, "HORSEPOWER_METRIC", "hp");
1215 
1216     /** Power.STHENE_METER_PER_SECOND unit type with code 16. */
1217     public static final DisplayType POWER_STHENE_METER_PER_SECOND = new DisplayType(SerializationUnits.POWER, 16,
1218             PowerUnit.STHENE_METER_PER_SECOND, "STHENE_METER_PER_SECOND", "sth/s");
1219 
1220     /* ===================================================== PRESSURE ==================================================== */
1221 
1222     /** Pressure.PASCAL unit type with code 0. */
1223     public static final DisplayType PRESSURE_PASCAL =
1224             new DisplayType(SerializationUnits.PRESSURE, 0, PressureUnit.PASCAL, "PASCAL", "Pa");
1225 
1226     /** Pressure.HECTOPASCAL unit type with code 1. */
1227     public static final DisplayType PRESSURE_HECTOPASCAL =
1228             new DisplayType(SerializationUnits.PRESSURE, 1, PressureUnit.HECTOPASCAL, "HECTOPASCAL", "hPa");
1229 
1230     /** Pressure.KILOPASCAL unit type with code 2. */
1231     public static final DisplayType PRESSURE_KILOPASCAL =
1232             new DisplayType(SerializationUnits.PRESSURE, 2, PressureUnit.KILOPASCAL, "KILOPASCAL", "kPa");
1233 
1234     /** Pressure.ATMOSPHERE_STANDARD unit type with code 3. */
1235     public static final DisplayType PRESSURE_ATMOSPHERE_STANDARD =
1236             new DisplayType(SerializationUnits.PRESSURE, 3, PressureUnit.ATMOSPHERE_STANDARD, "ATMOSPHERE_STANDARD", "atm");
1237 
1238     /** Pressure.ATMOSPHERE_TECHNICAL unit type with code 4. */
1239     public static final DisplayType PRESSURE_ATMOSPHERE_TECHNICAL =
1240             new DisplayType(SerializationUnits.PRESSURE, 4, PressureUnit.ATMOSPHERE_TECHNICAL, "ATMOSPHERE_TECHNICAL", "at");
1241 
1242     /** Pressure.MILLIBAR unit type with code 5. */
1243     public static final DisplayType PRESSURE_MILLIBAR =
1244             new DisplayType(SerializationUnits.PRESSURE, 5, PressureUnit.MILLIBAR, "MILLIBAR", "mbar");
1245 
1246     /** Pressure.BAR unit type with code 6. */
1247     public static final DisplayType PRESSURE_BAR =
1248             new DisplayType(SerializationUnits.PRESSURE, 6, PressureUnit.BAR, "BAR", "bar");
1249 
1250     /** Pressure.BARYE unit type with code 7. */
1251     public static final DisplayType PRESSURE_BARYE =
1252             new DisplayType(SerializationUnits.PRESSURE, 7, PressureUnit.BARYE, "BARYE", "Ba");
1253 
1254     /** Pressure.MILLIMETER_MERCURY unit type with code 8. */
1255     public static final DisplayType PRESSURE_MILLIMETER_MERCURY =
1256             new DisplayType(SerializationUnits.PRESSURE, 8, PressureUnit.MILLIMETER_MERCURY, "MILLIMETER_MERCURY", "mmHg");
1257 
1258     /** Pressure.CENTIMETER_MERCURY unit type with code 9. */
1259     public static final DisplayType PRESSURE_CENTIMETER_MERCURY =
1260             new DisplayType(SerializationUnits.PRESSURE, 9, PressureUnit.CENTIMETER_MERCURY, "CENTIMETER_MERCURY", "cmHg");
1261 
1262     /** Pressure.INCH_MERCURY unit type with code 10. */
1263     public static final DisplayType PRESSURE_INCH_MERCURY =
1264             new DisplayType(SerializationUnits.PRESSURE, 10, PressureUnit.INCH_MERCURY, "INCH_MERCURY", "inHg");
1265 
1266     /** Pressure.FOOT_MERCURY unit type with code 11. */
1267     public static final DisplayType PRESSURE_FOOT_MERCURY =
1268             new DisplayType(SerializationUnits.PRESSURE, 11, PressureUnit.FOOT_MERCURY, "FOOT_MERCURY", "ftHg");
1269 
1270     /** Pressure.KGF_PER_SQUARE_MM unit type with code 12. */
1271     public static final DisplayType PRESSURE_KGF_PER_SQUARE_MM =
1272             new DisplayType(SerializationUnits.PRESSURE, 12, PressureUnit.KGF_PER_SQUARE_MM, "KGF_PER_SQUARE_MM", "kgf/mm2");
1273 
1274     /** Pressure.PIEZE unit type with code 13. */
1275     public static final DisplayType PRESSURE_PIEZE =
1276             new DisplayType(SerializationUnits.PRESSURE, 13, PressureUnit.PIEZE, "PIEZE", "pz");
1277 
1278     /** Pressure.POUND_PER_SQUARE_INCH unit type with code 14. */
1279     public static final DisplayType PRESSURE_POUND_PER_SQUARE_INCH = new DisplayType(SerializationUnits.PRESSURE, 14,
1280             PressureUnit.POUND_PER_SQUARE_INCH, "POUND_PER_SQUARE_INCH", "lb/in2");
1281 
1282     /** Pressure.POUND_PER_SQUARE_FOOT unit type with code 15. */
1283     public static final DisplayType PRESSURE_POUND_PER_SQUARE_FOOT = new DisplayType(SerializationUnits.PRESSURE, 15,
1284             PressureUnit.POUND_PER_SQUARE_FOOT, "POUND_PER_SQUARE_FOOT", "lb/ft2");
1285 
1286     /** Pressure.TORR unit type with code 16. */
1287     public static final DisplayType PRESSURE_TORR =
1288             new DisplayType(SerializationUnits.PRESSURE, 16, PressureUnit.TORR, "TORR", "torr");
1289 
1290     /* ===================================================== SPEED ======================================================= */
1291 
1292     /** Speed.METER_PER_SECOND unit type with code 0. */
1293     public static final DisplayType SPEED_METER_PER_SECOND =
1294             new DisplayType(SerializationUnits.SPEED, 0, SpeedUnit.METER_PER_SECOND, "METER_PER_SECOND", "m/s");
1295 
1296     /** Speed.METER_PER_HOUR unit type with code 1. */
1297     public static final DisplayType SPEED_METER_PER_HOUR =
1298             new DisplayType(SerializationUnits.SPEED, 1, SpeedUnit.METER_PER_HOUR, "METER_PER_HOUR", "m/h");
1299 
1300     /** Speed.KM_PER_SECOND unit type with code 2. */
1301     public static final DisplayType SPEED_KM_PER_SECOND =
1302             new DisplayType(SerializationUnits.SPEED, 2, SpeedUnit.KM_PER_SECOND, "KM_PER_SECOND", "km/s");
1303 
1304     /** Speed.KM_PER_HOUR unit type with code 3. */
1305     public static final DisplayType SPEED_KM_PER_HOUR =
1306             new DisplayType(SerializationUnits.SPEED, 3, SpeedUnit.KM_PER_HOUR, "KM_PER_HOUR", "km/h");
1307 
1308     /** Speed.INCH_PER_SECOND unit type with code 4. */
1309     public static final DisplayType SPEED_INCH_PER_SECOND =
1310             new DisplayType(SerializationUnits.SPEED, 4, SpeedUnit.INCH_PER_SECOND, "INCH_PER_SECOND", "in/s");
1311 
1312     /** Speed.INCH_PER_MINUTE unit type with code 5. */
1313     public static final DisplayType SPEED_INCH_PER_MINUTE =
1314             new DisplayType(SerializationUnits.SPEED, 5, SpeedUnit.INCH_PER_MINUTE, "INCH_PER_MINUTE", "in/min");
1315 
1316     /** Speed.INCH_PER_HOUR unit type with code 6. */
1317     public static final DisplayType SPEED_INCH_PER_HOUR =
1318             new DisplayType(SerializationUnits.SPEED, 6, SpeedUnit.INCH_PER_HOUR, "INCH_PER_HOUR", "in/h");
1319 
1320     /** Speed.FOOT_PER_SECOND unit type with code 7. */
1321     public static final DisplayType SPEED_FOOT_PER_SECOND =
1322             new DisplayType(SerializationUnits.SPEED, 7, SpeedUnit.FOOT_PER_SECOND, "FOOT_PER_SECOND", "ft/s");
1323 
1324     /** Speed.FOOT_PER_MINUTE unit type with code 8. */
1325     public static final DisplayType SPEED_FOOT_PER_MINUTE =
1326             new DisplayType(SerializationUnits.SPEED, 8, SpeedUnit.FOOT_PER_MINUTE, "FOOT_PER_MINUTE", "ft/min");
1327 
1328     /** Speed.FOOT_PER_HOUR unit type with code 9. */
1329     public static final DisplayType SPEED_FOOT_PER_HOUR =
1330             new DisplayType(SerializationUnits.SPEED, 9, SpeedUnit.FOOT_PER_HOUR, "FOOT_PER_HOUR", "ft/h");
1331 
1332     /** Speed.MILE_PER_SECOND unit type with code 10. */
1333     public static final DisplayType SPEED_MILE_PER_SECOND =
1334             new DisplayType(SerializationUnits.SPEED, 10, SpeedUnit.MILE_PER_SECOND, "MILE_PER_SECOND", "mi/s");
1335 
1336     /** Speed.MILE_PER_MINUTE unit type with code 11. */
1337     public static final DisplayType SPEED_MILE_PER_MINUTE =
1338             new DisplayType(SerializationUnits.SPEED, 11, SpeedUnit.MILE_PER_MINUTE, "MILE_PER_MINUTE", "mi/min");
1339 
1340     /** Speed.MILE_PER_HOUR unit type with code 12. */
1341     public static final DisplayType SPEED_MILE_PER_HOUR =
1342             new DisplayType(SerializationUnits.SPEED, 12, SpeedUnit.MILE_PER_HOUR, "MILE_PER_HOUR", "mi/h");
1343 
1344     /** Speed.KNOT unit type with code 13. */
1345     public static final DisplayType SPEED_KNOT = new DisplayType(SerializationUnits.SPEED, 13, SpeedUnit.KNOT, "KNOT", "kt");
1346 
1347     /* =================================================== TEMPERATURE =================================================== */
1348 
1349     /** Temperature.KELVIN unit type with code 0. */
1350     public static final DisplayType TEMPERATURE_KELVIN =
1351             new DisplayType(SerializationUnits.TEMPERATURE, 0, TemperatureUnit.KELVIN, "KELVIN", "K");
1352 
1353     /** Temperature.DEGREE_CELSIUS unit type with code 1. */
1354     public static final DisplayType TEMPERATURE_DEGREE_CELSIUS =
1355             new DisplayType(SerializationUnits.TEMPERATURE, 1, TemperatureUnit.DEGREE_CELSIUS, "DEGREE_CELSIUS", "OC");
1356 
1357     /** Temperature.DEGREE_FAHRENHEIT unit type with code 2. */
1358     public static final DisplayType TEMPERATURE_DEGREE_FAHRENHEIT =
1359             new DisplayType(SerializationUnits.TEMPERATURE, 2, TemperatureUnit.DEGREE_FAHRENHEIT, "DEGREE_FAHRENHEIT", "OF");
1360 
1361     /** Temperature.DEGREE_RANKINE unit type with code 3. */
1362     public static final DisplayType TEMPERATURE_DEGREE_RANKINE =
1363             new DisplayType(SerializationUnits.TEMPERATURE, 3, TemperatureUnit.DEGREE_RANKINE, "DEGREE_RANKINE", "OR");
1364 
1365     /** Temperature.DEGREE_REAUMUR unit type with code 4. */
1366     public static final DisplayType TEMPERATURE_DEGREE_REAUMUR =
1367             new DisplayType(SerializationUnits.TEMPERATURE, 4, TemperatureUnit.DEGREE_REAUMUR, "DEGREE_REAUMUR", "ORé");
1368 
1369     /* ============================================== ABSOLUTETEMPERATURE ================================================ */
1370 
1371     /** AbsoluteTemperature.KELVIN unit type with code 0. */
1372     public static final DisplayType ABSOLUTETEMPERATURE_KELVIN =
1373             new DisplayType(SerializationUnits.ABSOLUTETEMPERATURE, 0, AbsoluteTemperatureUnit.KELVIN, "KELVIN", "K");
1374 
1375     /** AbsoluteTemperature.DEGREE_CELSIUS unit type with code 1. */
1376     public static final DisplayType ABSOLUTETEMPERATURE_DEGREE_CELSIUS = new DisplayType(SerializationUnits.ABSOLUTETEMPERATURE,
1377             1, AbsoluteTemperatureUnit.DEGREE_CELSIUS, "DEGREE_CELSIUS", "OC");
1378 
1379     /** AbsoluteTemperature.DEGREE_FAHRENHEIT unit type with code 2. */
1380     public static final DisplayType ABSOLUTETEMPERATURE_DEGREE_FAHRENHEIT = new DisplayType(
1381             SerializationUnits.ABSOLUTETEMPERATURE, 2, AbsoluteTemperatureUnit.DEGREE_FAHRENHEIT, "DEGREE_FAHRENHEIT", "OF");
1382 
1383     /** AbsoluteTemperature.DEGREE_RANKINE unit type with code 3. */
1384     public static final DisplayType ABSOLUTETEMPERATURE_DEGREE_RANKINE = new DisplayType(SerializationUnits.ABSOLUTETEMPERATURE,
1385             3, AbsoluteTemperatureUnit.DEGREE_RANKINE, "DEGREE_RANKINE", "OR");
1386 
1387     /** AbsoluteTemperature.DEGREE_REAUMUR unit type with code 4. */
1388     public static final DisplayType ABSOLUTETEMPERATURE_DEGREE_REAUMUR = new DisplayType(SerializationUnits.ABSOLUTETEMPERATURE,
1389             4, AbsoluteTemperatureUnit.DEGREE_REAUMUR, "DEGREE_REAUMUR", "ORé");
1390 
1391     /* ==================================================== DURATION ===================================================== */
1392 
1393     /** Duration.SECOND unit type with code 0. */
1394     public static final DisplayType DURATION_SECOND =
1395             new DisplayType(SerializationUnits.DURATION, 0, DurationUnit.SECOND, "SECOND", "s");
1396 
1397     /** Duration.ATTOSECOND unit type with code 1. */
1398     public static final DisplayType DURATION_ATTOSECOND =
1399             new DisplayType(SerializationUnits.DURATION, 1, DurationUnit.ATTOSECOND, "ATTOSECOND", "as");
1400 
1401     /** Duration.FEMTOSECOND unit type with code 2. */
1402     public static final DisplayType DURATION_FEMTOSECOND =
1403             new DisplayType(SerializationUnits.DURATION, 2, DurationUnit.FEMTOSECOND, "FEMTOSECOND", "fs");
1404 
1405     /** Duration.PICOSECOND unit type with code 3. */
1406     public static final DisplayType DURATION_PICOSECOND =
1407             new DisplayType(SerializationUnits.DURATION, 3, DurationUnit.PICOSECOND, "PICOSECOND", "ps");
1408 
1409     /** Duration.NANOSECOND unit type with code 4. */
1410     public static final DisplayType DURATION_NANOSECOND =
1411             new DisplayType(SerializationUnits.DURATION, 4, DurationUnit.NANOSECOND, "NANOSECOND", "ns");
1412 
1413     /** Duration.MICROSECOND unit type with code 5. */
1414     public static final DisplayType DURATION_MICROSECOND =
1415             new DisplayType(SerializationUnits.DURATION, 5, DurationUnit.MICROSECOND, "MICROSECOND", "μs");
1416 
1417     /** Duration.MILLISECOND unit type with code 6. */
1418     public static final DisplayType DURATION_MILLISECOND =
1419             new DisplayType(SerializationUnits.DURATION, 6, DurationUnit.MILLISECOND, "MILLISECOND", "ms");
1420 
1421     /** Duration.MINUTE unit type with code 7. */
1422     public static final DisplayType DURATION_MINUTE =
1423             new DisplayType(SerializationUnits.DURATION, 7, DurationUnit.MINUTE, "MINUTE", "min");
1424 
1425     /** Duration.HOUR unit type with code 8. */
1426     public static final DisplayType DURATION_HOUR =
1427             new DisplayType(SerializationUnits.DURATION, 8, DurationUnit.HOUR, "HOUR", "hr");
1428 
1429     /** Duration.DAY unit type with code 9. */
1430     public static final DisplayType DURATION_DAY =
1431             new DisplayType(SerializationUnits.DURATION, 9, DurationUnit.DAY, "DAY", "day");
1432 
1433     /** Duration.WEEK unit type with code 10. */
1434     public static final DisplayType DURATION_WEEK =
1435             new DisplayType(SerializationUnits.DURATION, 10, DurationUnit.WEEK, "WEEK", "wk");
1436 
1437     /* ====================================================== TIME ======================================================= */
1438 
1439     /** Time.BASE_SECOND unit type with code 0. */
1440     public static final DisplayType TIME_BASE_SECOND =
1441             new DisplayType(SerializationUnits.TIME, 0, TimeUnit.BASE_SECOND, "SECOND", "s");
1442 
1443     /** Time.BASE_MICROSECOND unit type with code 1. */
1444     public static final DisplayType TIME_BASE_MICROSECOND =
1445             new DisplayType(SerializationUnits.TIME, 1, TimeUnit.BASE_MICROSECOND, "MICROSECOND", "μs");
1446 
1447     /** Time.BASE_MILLISECOND unit type with code 2. */
1448     public static final DisplayType TIME_BASE_MILLISECOND =
1449             new DisplayType(SerializationUnits.TIME, 2, TimeUnit.BASE_MILLISECOND, "MILLISECOND", "ms");
1450 
1451     /** Time.BASE_MINUTE unit type with code 3. */
1452     public static final DisplayType TIME_BASE_MINUTE =
1453             new DisplayType(SerializationUnits.TIME, 3, TimeUnit.BASE_MINUTE, "MINUTE", "min");
1454 
1455     /** Time.BASE_HOUR unit type with code 4. */
1456     public static final DisplayType TIME_BASE_HOUR =
1457             new DisplayType(SerializationUnits.TIME, 4, TimeUnit.BASE_HOUR, "HOUR", "hr");
1458 
1459     /** Time.BASE_DAY unit type with code 5. */
1460     public static final DisplayType TIME_BASE_DAY =
1461             new DisplayType(SerializationUnits.TIME, 5, TimeUnit.BASE_DAY, "DAY", "day");
1462 
1463     /** Time.BASE_WEEK unit type with code 6. */
1464     public static final DisplayType TIME_BASE_WEEK =
1465             new DisplayType(SerializationUnits.TIME, 6, TimeUnit.BASE_WEEK, "WEEK", "wk");
1466 
1467     /** Time.EPOCH_SECOND unit type with code 7. */
1468     public static final DisplayType TIME_EPOCH_SECOND =
1469             new DisplayType(SerializationUnits.TIME, 7, TimeUnit.EPOCH_SECOND, "SECOND (1-1-70)", "s(POSIX)");
1470 
1471     /** Time.EPOCH_MICROSECOND unit type with code 8. */
1472     public static final DisplayType TIME_EPOCH_MICROSECOND =
1473             new DisplayType(SerializationUnits.TIME, 8, TimeUnit.BASE_MICROSECOND, "MICROSECOND (1-1-70)", "μs(POSIX)");
1474 
1475     /** Time.EPOCH_MILLISECOND unit type with code 9. */
1476     public static final DisplayType TIME_EPOCH_MILLISECOND =
1477             new DisplayType(SerializationUnits.TIME, 9, TimeUnit.BASE_MILLISECOND, "MILLISECOND (1-1-70)", "ms(POSIX)");
1478 
1479     /** Time.EPOCH_MINUTE unit type with code 10. */
1480     public static final DisplayType TIME_EPOCH_MINUTE =
1481             new DisplayType(SerializationUnits.TIME, 10, TimeUnit.BASE_MINUTE, "MINUTE (1-1-70)", "min(POSIX)");
1482 
1483     /** Time.EPOCH_HOUR unit type with code 11. */
1484     public static final DisplayType TIME_EPOCH_HOUR =
1485             new DisplayType(SerializationUnits.TIME, 11, TimeUnit.BASE_HOUR, "HOUR (1-1-70)", "hr(POSIX)");
1486 
1487     /** Time.EPOCH_DAY unit type with code 12. */
1488     public static final DisplayType TIME_EPOCH_DAY =
1489             new DisplayType(SerializationUnits.TIME, 12, TimeUnit.BASE_DAY, "DAY (1-1-70)", "day(POSIX)");
1490 
1491     /** Time.EPOCH_WEEK unit type with code 13. */
1492     public static final DisplayType TIME_EPOCH_WEEK =
1493             new DisplayType(SerializationUnits.TIME, 13, TimeUnit.BASE_WEEK, "WEEK (1-1-70)", "wk(POSIX)");
1494 
1495     /** Time.TIME_YEAR1_SECOND unit type with code 14. */
1496     public static final DisplayType TIME_YEAR1_SECOND =
1497             new DisplayType(SerializationUnits.TIME, 14, TimeUnit.EPOCH_YEAR_1, "SECOND (1-1-0001)", "s(1-1-0001)");
1498 
1499     /** Time.TIME_J2000_SECOND unit type with code 15. */
1500     public static final DisplayType TIME_J2000_SECOND =
1501             new DisplayType(SerializationUnits.TIME, 15, TimeUnit.EPOCH_J2000_1, "SECOND (1-1-2000 12:00)", "s(1-1-2000)");
1502 
1503     /* ===================================================== TORQUE ====================================================== */
1504 
1505     /** Torque.NEWTON_METER unit type with code 0. */
1506     public static final DisplayType TORQUE_NEWTON_METER =
1507             new DisplayType(SerializationUnits.TORQUE, 0, TorqueUnit.NEWTON_METER, "NEWTON_METER", "Nm");
1508 
1509     /** Torque.POUND_FOOT unit type with code 1. */
1510     public static final DisplayType TORQUE_POUND_FOOT =
1511             new DisplayType(SerializationUnits.TORQUE, 1, TorqueUnit.POUND_FOOT, "POUND_FOOT", "lb.ft");
1512 
1513     /** Torque.POUND_INCH unit type with code 2. */
1514     public static final DisplayType TORQUE_POUND_INCH =
1515             new DisplayType(SerializationUnits.TORQUE, 2, TorqueUnit.POUND_INCH, "POUND_INCH", "lb.in");
1516 
1517     /** Torque.METER_KILOGRAM_FORCE unit type with code 3. */
1518     public static final DisplayType TORQUE_METER_KILOGRAM_FORCE =
1519             new DisplayType(SerializationUnits.TORQUE, 3, TorqueUnit.METER_KILOGRAM_FORCE, "METER_KILOGRAM_FORCE", "m.kgf");
1520 
1521     /* ===================================================== VOLUME ====================================================== */
1522 
1523     /** Volume.CUBIC_METER unit type with code 0. */
1524     public static final DisplayType VOLUME_CUBIC_METER =
1525             new DisplayType(SerializationUnits.VOLUME, 0, VolumeUnit.CUBIC_METER, "CUBIC_METER", "m3");
1526 
1527     /** Volume.CUBIC_ATTOMETER unit type with code 1. */
1528     public static final DisplayType VOLUME_CUBIC_ATTOMETER =
1529             new DisplayType(SerializationUnits.VOLUME, 1, VolumeUnit.CUBIC_ATTOMETER, "CUBIC_ATTOMETER", "am3");
1530 
1531     /** Volume.CUBIC_FEMTOMETER unit type with code 2. */
1532     public static final DisplayType VOLUME_CUBIC_FEMTOMETER =
1533             new DisplayType(SerializationUnits.VOLUME, 2, VolumeUnit.CUBIC_FEMTOMETER, "CUBIC_FEMTOMETER", "fm3");
1534 
1535     /** Volume.CUBIC_PICOMETER unit type with code 3. */
1536     public static final DisplayType VOLUME_CUBIC_PICOMETER =
1537             new DisplayType(SerializationUnits.VOLUME, 3, VolumeUnit.CUBIC_PICOMETER, "CUBIC_PICOMETER", "pm3");
1538 
1539     /** Volume.CUBIC_NANOMETER unit type with code 4. */
1540     public static final DisplayType VOLUME_CUBIC_NANOMETER =
1541             new DisplayType(SerializationUnits.VOLUME, 4, VolumeUnit.CUBIC_NANOMETER, "CUBIC_NANOMETER", "nm3");
1542 
1543     /** Volume.CUBIC_MICROMETER unit type with code 5. */
1544     public static final DisplayType VOLUME_CUBIC_MICROMETER =
1545             new DisplayType(SerializationUnits.VOLUME, 5, VolumeUnit.CUBIC_MICROMETER, "CUBIC_MICROMETER", "μm3");
1546 
1547     /** Volume.CUBIC_MILLIMETER unit type with code 6. */
1548     public static final DisplayType VOLUME_CUBIC_MILLIMETER =
1549             new DisplayType(SerializationUnits.VOLUME, 6, VolumeUnit.CUBIC_MILLIMETER, "CUBIC_MILLIMETER", "mm3");
1550 
1551     /** Volume.CUBIC_CENTIMETER unit type with code 7. */
1552     public static final DisplayType VOLUME_CUBIC_CENTIMETER =
1553             new DisplayType(SerializationUnits.VOLUME, 7, VolumeUnit.CUBIC_CENTIMETER, "CUBIC_CENTIMETER", "cm3");
1554 
1555     /** Volume.CUBIC_DECIMETER unit type with code 8. */
1556     public static final DisplayType VOLUME_CUBIC_DECIMETER =
1557             new DisplayType(SerializationUnits.VOLUME, 8, VolumeUnit.CUBIC_DECIMETER, "CUBIC_DECIMETER", "dm3");
1558 
1559     /** Volume.CUBIC_DEKAMETER unit type with code 9. */
1560     public static final DisplayType VOLUME_CUBIC_DEKAMETER =
1561             new DisplayType(SerializationUnits.VOLUME, 9, VolumeUnit.CUBIC_DEKAMETER, "CUBIC_DEKAMETER", "dam3");
1562 
1563     /** Volume.CUBIC_HECTOMETER unit type with code 10. */
1564     public static final DisplayType VOLUME_CUBIC_HECTOMETER =
1565             new DisplayType(SerializationUnits.VOLUME, 10, VolumeUnit.CUBIC_HECTOMETER, "CUBIC_HECTOMETER", "hm3");
1566 
1567     /** Volume.CUBIC_KILOMETER unit type with code 11. */
1568     public static final DisplayType VOLUME_CUBIC_KILOMETER =
1569             new DisplayType(SerializationUnits.VOLUME, 11, VolumeUnit.CUBIC_KILOMETER, "CUBIC_KILOMETER", "km3");
1570 
1571     /** Volume.CUBIC_MEGAMETER unit type with code 12. */
1572     public static final DisplayType VOLUME_CUBIC_MEGAMETER =
1573             new DisplayType(SerializationUnits.VOLUME, 12, VolumeUnit.CUBIC_MEGAMETER, "CUBIC_MEGAMETER", "Mm3");
1574 
1575     /** Volume.CUBIC_INCH unit type with code 13. */
1576     public static final DisplayType VOLUME_CUBIC_INCH =
1577             new DisplayType(SerializationUnits.VOLUME, 13, VolumeUnit.CUBIC_INCH, "CUBIC_INCH", "in3");
1578 
1579     /** Volume.CUBIC_FOOT unit type with code 14. */
1580     public static final DisplayType VOLUME_CUBIC_FOOT =
1581             new DisplayType(SerializationUnits.VOLUME, 14, VolumeUnit.CUBIC_FOOT, "CUBIC_FOOT", "ft3");
1582 
1583     /** Volume.CUBIC_YARD unit type with code 15. */
1584     public static final DisplayType VOLUME_CUBIC_YARD =
1585             new DisplayType(SerializationUnits.VOLUME, 15, VolumeUnit.CUBIC_YARD, "CUBIC_YARD", "yd3");
1586 
1587     /** Volume.CUBIC_MILE unit type with code 16. */
1588     public static final DisplayType VOLUME_CUBIC_MILE =
1589             new DisplayType(SerializationUnits.VOLUME, 16, VolumeUnit.CUBIC_MILE, "CUBIC_MILE", "mi3");
1590 
1591     /** Volume.LITER unit type with code 17. */
1592     public static final DisplayType VOLUME_LITER =
1593             new DisplayType(SerializationUnits.VOLUME, 17, VolumeUnit.LITER, "LITER", "l");
1594 
1595     /** Volume.GALLON_IMP unit type with code 18. */
1596     public static final DisplayType VOLUME_GALLON_IMP =
1597             new DisplayType(SerializationUnits.VOLUME, 18, VolumeUnit.GALLON_IMP, "GALLON_IMP", "gal (imp)");
1598 
1599     /** Volume.GALLON_US_FLUID unit type with code 19. */
1600     public static final DisplayType VOLUME_GALLON_US_FLUID =
1601             new DisplayType(SerializationUnits.VOLUME, 19, VolumeUnit.GALLON_US_FLUID, "GALLON_US_FLUID", "gal (US)");
1602 
1603     /** Volume.OUNCE_IMP_FLUID unit type with code 20. */
1604     public static final DisplayType VOLUME_OUNCE_IMP_FLUID =
1605             new DisplayType(SerializationUnits.VOLUME, 20, VolumeUnit.OUNCE_IMP_FLUID, "OUNCE_IMP_FLUID", "oz (imp)");
1606 
1607     /** Volume.OUNCE_US_FLUID unit type with code 21. */
1608     public static final DisplayType VOLUME_OUNCE_US_FLUID =
1609             new DisplayType(SerializationUnits.VOLUME, 21, VolumeUnit.OUNCE_US_FLUID, "OUNCE_US_FLUID", "oz (US)");
1610 
1611     /** Volume.PINT_IMP unit type with code 22. */
1612     public static final DisplayType VOLUME_PINT_IMP =
1613             new DisplayType(SerializationUnits.VOLUME, 22, VolumeUnit.PINT_IMP, "PINT_IMP", "pt (imp)");
1614 
1615     /** Volume.PINT_US_FLUID unit type with code 23. */
1616     public static final DisplayType VOLUME_PINT_US_FLUID =
1617             new DisplayType(SerializationUnits.VOLUME, 23, VolumeUnit.PINT_US_FLUID, "PINT_US_FLUID", "pt (US)");
1618 
1619     /** Volume.QUART_IMP unit type with code 24. */
1620     public static final DisplayType VOLUME_QUART_IMP =
1621             new DisplayType(SerializationUnits.VOLUME, 24, VolumeUnit.QUART_IMP, "QUART_IMP", "qt (imp)");
1622 
1623     /** Volume.QUART_US_FLUID unit type with code 25. */
1624     public static final DisplayType VOLUME_QUART_US_FLUID =
1625             new DisplayType(SerializationUnits.VOLUME, 25, VolumeUnit.QUART_US_FLUID, "QUART_US_FLUID", "qt (US)");
1626 
1627     /** Volume.CUBIC_PARSEC unit type with code 26. */
1628     public static final DisplayType VOLUME_CUBIC_PARSEC =
1629             new DisplayType(SerializationUnits.VOLUME, 26, VolumeUnit.CUBIC_PARSEC, "CUBIC_PARSEC", "pc3");
1630 
1631     /** Volume.CUBIC_LIGHTYEAR unit type with code 27. */
1632     public static final DisplayType VOLUME_CUBIC_LIGHTYEAR =
1633             new DisplayType(SerializationUnits.VOLUME, 27, VolumeUnit.CUBIC_LIGHTYEAR, "CUBIC_LIGHTYEAR", "ly3");
1634 
1635     /* ====================================================== MONEY ====================================================== */
1636 
1637     /** Money.AED unit type with code 784. */
1638     public static final DisplayType MONEY_AED =
1639             new DisplayType(SerializationUnits.MONEY, 784, MoneyUnit.AED, "AED", "United Arab Emirates dirham");
1640 
1641     /** Money.AFN unit type with code 971. */
1642     public static final DisplayType MONEY_AFN =
1643             new DisplayType(SerializationUnits.MONEY, 971, MoneyUnit.AFN, "AFN", "Afghan afghani");
1644 
1645     /** Money.ALL unit type with code 8. */
1646     public static final DisplayType MONEY_ALL =
1647             new DisplayType(SerializationUnits.MONEY, 8, MoneyUnit.ALL, "ALL", "Albanian lek");
1648 
1649     /** Money.AMD unit type with code 51. */
1650     public static final DisplayType MONEY_AMD =
1651             new DisplayType(SerializationUnits.MONEY, 51, MoneyUnit.AMD, "AMD", "Armenian dram");
1652 
1653     /** Money.ANG unit type with code 532. */
1654     public static final DisplayType MONEY_ANG =
1655             new DisplayType(SerializationUnits.MONEY, 532, MoneyUnit.ANG, "ANG", "Netherlands Antillean guilder");
1656 
1657     /** Money.AOA unit type with code 973. */
1658     public static final DisplayType MONEY_AOA =
1659             new DisplayType(SerializationUnits.MONEY, 973, MoneyUnit.AOA, "AOA", "Angolan kwanza");
1660 
1661     /** Money.ARS unit type with code 32. */
1662     public static final DisplayType MONEY_ARS =
1663             new DisplayType(SerializationUnits.MONEY, 32, MoneyUnit.ARS, "ARS", "Argentine peso");
1664 
1665     /** Money.AUD unit type with code 36. */
1666     public static final DisplayType MONEY_AUD =
1667             new DisplayType(SerializationUnits.MONEY, 36, MoneyUnit.AUD, "AUD", "Australian dollar");
1668 
1669     /** Money.AWG unit type with code 533. */
1670     public static final DisplayType MONEY_AWG =
1671             new DisplayType(SerializationUnits.MONEY, 533, MoneyUnit.AWG, "AWG", "Aruban florin");
1672 
1673     /** Money.AZN unit type with code 944. */
1674     public static final DisplayType MONEY_AZN =
1675             new DisplayType(SerializationUnits.MONEY, 944, MoneyUnit.AZN, "AZN", "Azerbaijani manat");
1676 
1677     /** Money.BAM unit type with code 977. */
1678     public static final DisplayType MONEY_BAM =
1679             new DisplayType(SerializationUnits.MONEY, 977, MoneyUnit.BAM, "BAM", "Bosnia and Herzegovina convertible mark");
1680 
1681     /** Money.BBD unit type with code 52. */
1682     public static final DisplayType MONEY_BBD =
1683             new DisplayType(SerializationUnits.MONEY, 52, MoneyUnit.BBD, "BBD", "Barbados dollar");
1684 
1685     /** Money.BDT unit type with code 50. */
1686     public static final DisplayType MONEY_BDT =
1687             new DisplayType(SerializationUnits.MONEY, 50, MoneyUnit.BDT, "BDT", "Bangladeshi taka");
1688 
1689     /** Money.BGN unit type with code 975. */
1690     public static final DisplayType MONEY_BGN =
1691             new DisplayType(SerializationUnits.MONEY, 975, MoneyUnit.BGN, "BGN", "Bulgarian lev");
1692 
1693     /** Money.BHD unit type with code 48. */
1694     public static final DisplayType MONEY_BHD =
1695             new DisplayType(SerializationUnits.MONEY, 48, MoneyUnit.BHD, "BHD", "Bahraini dinar");
1696 
1697     /** Money.BIF unit type with code 108. */
1698     public static final DisplayType MONEY_BIF =
1699             new DisplayType(SerializationUnits.MONEY, 108, MoneyUnit.BIF, "BIF", "Burundian franc");
1700 
1701     /** Money.BMD unit type with code 60. */
1702     public static final DisplayType MONEY_BMD =
1703             new DisplayType(SerializationUnits.MONEY, 60, MoneyUnit.BMD, "BMD", "Bermudian dollar");
1704 
1705     /** Money.BND unit type with code 96. */
1706     public static final DisplayType MONEY_BND =
1707             new DisplayType(SerializationUnits.MONEY, 96, MoneyUnit.BND, "BND", "Brunei dollar");
1708 
1709     /** Money.BOB unit type with code 68. */
1710     public static final DisplayType MONEY_BOB =
1711             new DisplayType(SerializationUnits.MONEY, 68, MoneyUnit.BOB, "BOB", "Boliviano");
1712 
1713     /** Money.BOV unit type with code 984. */
1714     public static final DisplayType MONEY_BOV =
1715             new DisplayType(SerializationUnits.MONEY, 984, MoneyUnit.BOV, "BOV", "Bolivian Mvdol (funds code)");
1716 
1717     /** Money.BRL unit type with code 986. */
1718     public static final DisplayType MONEY_BRL =
1719             new DisplayType(SerializationUnits.MONEY, 986, MoneyUnit.BRL, "BRL", "Brazilian real");
1720 
1721     /** Money.BSD unit type with code 44. */
1722     public static final DisplayType MONEY_BSD =
1723             new DisplayType(SerializationUnits.MONEY, 44, MoneyUnit.BSD, "BSD", "Bahamian dollar");
1724 
1725     /** Money.BTN unit type with code 64. */
1726     public static final DisplayType MONEY_BTN =
1727             new DisplayType(SerializationUnits.MONEY, 64, MoneyUnit.BTN, "BTN", "Bhutanese ngultrum");
1728 
1729     /** Money.BWP unit type with code 72. */
1730     public static final DisplayType MONEY_BWP =
1731             new DisplayType(SerializationUnits.MONEY, 72, MoneyUnit.BWP, "BWP", "Botswana pula");
1732 
1733     /** Money.BYN unit type with code 933. */
1734     public static final DisplayType MONEY_BYN =
1735             new DisplayType(SerializationUnits.MONEY, 933, MoneyUnit.BYN, "BYN", "New Belarusian ruble");
1736 
1737     /** Money.BYR unit type with code 974. */
1738     public static final DisplayType MONEY_BYR =
1739             new DisplayType(SerializationUnits.MONEY, 974, MoneyUnit.BYR, "BYR", "Belarusian ruble");
1740 
1741     /** Money.BZD unit type with code 84. */
1742     public static final DisplayType MONEY_BZD =
1743             new DisplayType(SerializationUnits.MONEY, 84, MoneyUnit.BZD, "BZD", "Belize dollar");
1744 
1745     /** Money.CAD unit type with code 124. */
1746     public static final DisplayType MONEY_CAD =
1747             new DisplayType(SerializationUnits.MONEY, 124, MoneyUnit.CAD, "CAD", "Canadian dollar");
1748 
1749     /** Money.CDF unit type with code 976. */
1750     public static final DisplayType MONEY_CDF =
1751             new DisplayType(SerializationUnits.MONEY, 976, MoneyUnit.CDF, "CDF", "Congolese franc");
1752 
1753     /** Money.CHE unit type with code 947. */
1754     public static final DisplayType MONEY_CHE =
1755             new DisplayType(SerializationUnits.MONEY, 947, MoneyUnit.CHE, "CHE", "WIR Euro (complementary currency)");
1756 
1757     /** Money.CHF unit type with code 756. */
1758     public static final DisplayType MONEY_CHF =
1759             new DisplayType(SerializationUnits.MONEY, 756, MoneyUnit.CHF, "CHF", "Swiss franc");
1760 
1761     /** Money.CHW unit type with code 948. */
1762     public static final DisplayType MONEY_CHW =
1763             new DisplayType(SerializationUnits.MONEY, 948, MoneyUnit.CHW, "CHW", "WIR Franc (complementary currency)");
1764 
1765     /** Money.CLF unit type with code 990. */
1766     public static final DisplayType MONEY_CLF =
1767             new DisplayType(SerializationUnits.MONEY, 990, MoneyUnit.CLF, "CLF", "Unidad de Fomento (funds code)");
1768 
1769     /** Money.CLP unit type with code 152. */
1770     public static final DisplayType MONEY_CLP =
1771             new DisplayType(SerializationUnits.MONEY, 152, MoneyUnit.CLP, "CLP", "Chilean peso");
1772 
1773     /** Money.CNY unit type with code 156. */
1774     public static final DisplayType MONEY_CNY =
1775             new DisplayType(SerializationUnits.MONEY, 156, MoneyUnit.CNY, "CNY", "Chinese yuan");
1776 
1777     /** Money.COP unit type with code 170. */
1778     public static final DisplayType MONEY_COP =
1779             new DisplayType(SerializationUnits.MONEY, 170, MoneyUnit.COP, "COP", "Colombian peso");
1780 
1781     /** Money.COU unit type with code 970. */
1782     public static final DisplayType MONEY_COU =
1783             new DisplayType(SerializationUnits.MONEY, 970, MoneyUnit.COU, "COU", "Unidad de Valor Real (UVR) (funds code)");
1784 
1785     /** Money.CRC unit type with code 188. */
1786     public static final DisplayType MONEY_CRC =
1787             new DisplayType(SerializationUnits.MONEY, 188, MoneyUnit.CRC, "CRC", "Costa Rican colon");
1788 
1789     /** Money.CUC unit type with code 931. */
1790     public static final DisplayType MONEY_CUC =
1791             new DisplayType(SerializationUnits.MONEY, 931, MoneyUnit.CUC, "CUC", "Cuban convertible peso");
1792 
1793     /** Money.CUP unit type with code 192. */
1794     public static final DisplayType MONEY_CUP =
1795             new DisplayType(SerializationUnits.MONEY, 192, MoneyUnit.CUP, "CUP", "Cuban peso");
1796 
1797     /** Money.CVE unit type with code 132. */
1798     public static final DisplayType MONEY_CVE =
1799             new DisplayType(SerializationUnits.MONEY, 132, MoneyUnit.CVE, "CVE", "Cape Verde escudo");
1800 
1801     /** Money.CZK unit type with code 203. */
1802     public static final DisplayType MONEY_CZK =
1803             new DisplayType(SerializationUnits.MONEY, 203, MoneyUnit.CZK, "CZK", "Czech koruna");
1804 
1805     /** Money.DJF unit type with code 262. */
1806     public static final DisplayType MONEY_DJF =
1807             new DisplayType(SerializationUnits.MONEY, 262, MoneyUnit.DJF, "DJF", "Djiboutian franc");
1808 
1809     /** Money.DKK unit type with code 208. */
1810     public static final DisplayType MONEY_DKK =
1811             new DisplayType(SerializationUnits.MONEY, 208, MoneyUnit.DKK, "DKK", "Danish krone");
1812 
1813     /** Money.DOP unit type with code 214. */
1814     public static final DisplayType MONEY_DOP =
1815             new DisplayType(SerializationUnits.MONEY, 214, MoneyUnit.DOP, "DOP", "Dominican peso");
1816 
1817     /** Money.DZD unit type with code 12. */
1818     public static final DisplayType MONEY_DZD =
1819             new DisplayType(SerializationUnits.MONEY, 12, MoneyUnit.DZD, "DZD", "Algerian dinar");
1820 
1821     /** Money.EGP unit type with code 818. */
1822     public static final DisplayType MONEY_EGP =
1823             new DisplayType(SerializationUnits.MONEY, 818, MoneyUnit.EGP, "EGP", "Egyptian pound");
1824 
1825     /** Money.ERN unit type with code 232. */
1826     public static final DisplayType MONEY_ERN =
1827             new DisplayType(SerializationUnits.MONEY, 232, MoneyUnit.ERN, "ERN", "Eritrean nakfa");
1828 
1829     /** Money.ETB unit type with code 230. */
1830     public static final DisplayType MONEY_ETB =
1831             new DisplayType(SerializationUnits.MONEY, 230, MoneyUnit.ETB, "ETB", "Ethiopian birr");
1832 
1833     /** Money.EUR unit type with code 978. */
1834     public static final DisplayType MONEY_EUR = new DisplayType(SerializationUnits.MONEY, 978, MoneyUnit.EUR, "EUR", "Euro");
1835 
1836     /** Money.FJD unit type with code 242. */
1837     public static final DisplayType MONEY_FJD =
1838             new DisplayType(SerializationUnits.MONEY, 242, MoneyUnit.FJD, "FJD", "Fiji dollar");
1839 
1840     /** Money.FKP unit type with code 238. */
1841     public static final DisplayType MONEY_FKP =
1842             new DisplayType(SerializationUnits.MONEY, 238, MoneyUnit.FKP, "FKP", "Falkland Islands pound");
1843 
1844     /** Money.GBP unit type with code 826. */
1845     public static final DisplayType MONEY_GBP =
1846             new DisplayType(SerializationUnits.MONEY, 826, MoneyUnit.GBP, "GBP", "Pound sterling");
1847 
1848     /** Money.GEL unit type with code 981. */
1849     public static final DisplayType MONEY_GEL =
1850             new DisplayType(SerializationUnits.MONEY, 981, MoneyUnit.GEL, "GEL", "Georgian lari");
1851 
1852     /** Money.GHS unit type with code 936. */
1853     public static final DisplayType MONEY_GHS =
1854             new DisplayType(SerializationUnits.MONEY, 936, MoneyUnit.GHS, "GHS", "Ghanaian cedi");
1855 
1856     /** Money.GIP unit type with code 292. */
1857     public static final DisplayType MONEY_GIP =
1858             new DisplayType(SerializationUnits.MONEY, 292, MoneyUnit.GIP, "GIP", "Gibraltar pound");
1859 
1860     /** Money.GMD unit type with code 270. */
1861     public static final DisplayType MONEY_GMD =
1862             new DisplayType(SerializationUnits.MONEY, 270, MoneyUnit.GMD, "GMD", "Gambian dalasi");
1863 
1864     /** Money.GNF unit type with code 324. */
1865     public static final DisplayType MONEY_GNF =
1866             new DisplayType(SerializationUnits.MONEY, 324, MoneyUnit.GNF, "GNF", "Guinean franc");
1867 
1868     /** Money.GTQ unit type with code 320. */
1869     public static final DisplayType MONEY_GTQ =
1870             new DisplayType(SerializationUnits.MONEY, 320, MoneyUnit.GTQ, "GTQ", "Guatemalan quetzal");
1871 
1872     /** Money.GYD unit type with code 328. */
1873     public static final DisplayType MONEY_GYD =
1874             new DisplayType(SerializationUnits.MONEY, 328, MoneyUnit.GYD, "GYD", "Guyanese dollar");
1875 
1876     /** Money.HKD unit type with code 344. */
1877     public static final DisplayType MONEY_HKD =
1878             new DisplayType(SerializationUnits.MONEY, 344, MoneyUnit.HKD, "HKD", "Hong Kong dollar");
1879 
1880     /** Money.HNL unit type with code 340. */
1881     public static final DisplayType MONEY_HNL =
1882             new DisplayType(SerializationUnits.MONEY, 340, MoneyUnit.HNL, "HNL", "Honduran lempira");
1883 
1884     /** Money.HRK unit type with code 191. */
1885     public static final DisplayType MONEY_HRK =
1886             new DisplayType(SerializationUnits.MONEY, 191, MoneyUnit.HRK, "HRK", "Croatian kuna");
1887 
1888     /** Money.HTG unit type with code 332. */
1889     public static final DisplayType MONEY_HTG =
1890             new DisplayType(SerializationUnits.MONEY, 332, MoneyUnit.HTG, "HTG", "Haitian gourde");
1891 
1892     /** Money.HUF unit type with code 348. */
1893     public static final DisplayType MONEY_HUF =
1894             new DisplayType(SerializationUnits.MONEY, 348, MoneyUnit.HUF, "HUF", "Hungarian forint");
1895 
1896     /** Money.IDR unit type with code 360. */
1897     public static final DisplayType MONEY_IDR =
1898             new DisplayType(SerializationUnits.MONEY, 360, MoneyUnit.IDR, "IDR", "Indonesian rupiah");
1899 
1900     /** Money.ILS unit type with code 376. */
1901     public static final DisplayType MONEY_ILS =
1902             new DisplayType(SerializationUnits.MONEY, 376, MoneyUnit.ILS, "ILS", "Israeli new shekel");
1903 
1904     /** Money.INR unit type with code 356. */
1905     public static final DisplayType MONEY_INR =
1906             new DisplayType(SerializationUnits.MONEY, 356, MoneyUnit.INR, "INR", "Indian rupee");
1907 
1908     /** Money.IQD unit type with code 368. */
1909     public static final DisplayType MONEY_IQD =
1910             new DisplayType(SerializationUnits.MONEY, 368, MoneyUnit.IQD, "IQD", "Iraqi dinar");
1911 
1912     /** Money.IRR unit type with code 364. */
1913     public static final DisplayType MONEY_IRR =
1914             new DisplayType(SerializationUnits.MONEY, 364, MoneyUnit.IRR, "IRR", "Iranian rial");
1915 
1916     /** Money.ISK unit type with code 352. */
1917     public static final DisplayType MONEY_ISK =
1918             new DisplayType(SerializationUnits.MONEY, 352, MoneyUnit.ISK, "ISK", "Icelandic króna");
1919 
1920     /** Money.JMD unit type with code 388. */
1921     public static final DisplayType MONEY_JMD =
1922             new DisplayType(SerializationUnits.MONEY, 388, MoneyUnit.JMD, "JMD", "Jamaican dollar");
1923 
1924     /** Money.JOD unit type with code 400. */
1925     public static final DisplayType MONEY_JOD =
1926             new DisplayType(SerializationUnits.MONEY, 400, MoneyUnit.JOD, "JOD", "Jordanian dinar");
1927 
1928     /** Money.JPY unit type with code 392. */
1929     public static final DisplayType MONEY_JPY =
1930             new DisplayType(SerializationUnits.MONEY, 392, MoneyUnit.JPY, "JPY", "Japanese yen");
1931 
1932     /** Money.KES unit type with code 404. */
1933     public static final DisplayType MONEY_KES =
1934             new DisplayType(SerializationUnits.MONEY, 404, MoneyUnit.KES, "KES", "Kenyan shilling");
1935 
1936     /** Money.KGS unit type with code 417. */
1937     public static final DisplayType MONEY_KGS =
1938             new DisplayType(SerializationUnits.MONEY, 417, MoneyUnit.KGS, "KGS", "Kyrgyzstani som");
1939 
1940     /** Money.KHR unit type with code 116. */
1941     public static final DisplayType MONEY_KHR =
1942             new DisplayType(SerializationUnits.MONEY, 116, MoneyUnit.KHR, "KHR", "Cambodian riel");
1943 
1944     /** Money.KMF unit type with code 174. */
1945     public static final DisplayType MONEY_KMF =
1946             new DisplayType(SerializationUnits.MONEY, 174, MoneyUnit.KMF, "KMF", "Comoro franc");
1947 
1948     /** Money.KPW unit type with code 408. */
1949     public static final DisplayType MONEY_KPW =
1950             new DisplayType(SerializationUnits.MONEY, 408, MoneyUnit.KPW, "KPW", "North Korean won");
1951 
1952     /** Money.KRW unit type with code 410. */
1953     public static final DisplayType MONEY_KRW =
1954             new DisplayType(SerializationUnits.MONEY, 410, MoneyUnit.KRW, "KRW", "South Korean won");
1955 
1956     /** Money.KWD unit type with code 414. */
1957     public static final DisplayType MONEY_KWD =
1958             new DisplayType(SerializationUnits.MONEY, 414, MoneyUnit.KWD, "KWD", "Kuwaiti dinar");
1959 
1960     /** Money.KYD unit type with code 136. */
1961     public static final DisplayType MONEY_KYD =
1962             new DisplayType(SerializationUnits.MONEY, 136, MoneyUnit.KYD, "KYD", "Cayman Islands dollar");
1963 
1964     /** Money.KZT unit type with code 398. */
1965     public static final DisplayType MONEY_KZT =
1966             new DisplayType(SerializationUnits.MONEY, 398, MoneyUnit.KZT, "KZT", "Kazakhstani tenge");
1967 
1968     /** Money.LAK unit type with code 418. */
1969     public static final DisplayType MONEY_LAK = new DisplayType(SerializationUnits.MONEY, 418, MoneyUnit.LAK, "LAK", "Lao kip");
1970 
1971     /** Money.LBP unit type with code 422. */
1972     public static final DisplayType MONEY_LBP =
1973             new DisplayType(SerializationUnits.MONEY, 422, MoneyUnit.LBP, "LBP", "Lebanese pound");
1974 
1975     /** Money.LKR unit type with code 144. */
1976     public static final DisplayType MONEY_LKR =
1977             new DisplayType(SerializationUnits.MONEY, 144, MoneyUnit.LKR, "LKR", "Sri Lankan rupee");
1978 
1979     /** Money.LRD unit type with code 430. */
1980     public static final DisplayType MONEY_LRD =
1981             new DisplayType(SerializationUnits.MONEY, 430, MoneyUnit.LRD, "LRD", "Liberian dollar");
1982 
1983     /** Money.LSL unit type with code 426. */
1984     public static final DisplayType MONEY_LSL =
1985             new DisplayType(SerializationUnits.MONEY, 426, MoneyUnit.LSL, "LSL", "Lesotho loti");
1986 
1987     /** Money.LYD unit type with code 434. */
1988     public static final DisplayType MONEY_LYD =
1989             new DisplayType(SerializationUnits.MONEY, 434, MoneyUnit.LYD, "LYD", "Libyan dinar");
1990 
1991     /** Money.MAD unit type with code 504. */
1992     public static final DisplayType MONEY_MAD =
1993             new DisplayType(SerializationUnits.MONEY, 504, MoneyUnit.MAD, "MAD", "Moroccan dirham");
1994 
1995     /** Money.MDL unit type with code 498. */
1996     public static final DisplayType MONEY_MDL =
1997             new DisplayType(SerializationUnits.MONEY, 498, MoneyUnit.MDL, "MDL", "Moldovan leu");
1998 
1999     /** Money.MGA unit type with code 969. */
2000     public static final DisplayType MONEY_MGA =
2001             new DisplayType(SerializationUnits.MONEY, 969, MoneyUnit.MGA, "MGA", "Malagasy ariary");
2002 
2003     /** Money.MKD unit type with code 807. */
2004     public static final DisplayType MONEY_MKD =
2005             new DisplayType(SerializationUnits.MONEY, 807, MoneyUnit.MKD, "MKD", "Macedonian denar");
2006 
2007     /** Money.MMK unit type with code 104. */
2008     public static final DisplayType MONEY_MMK =
2009             new DisplayType(SerializationUnits.MONEY, 104, MoneyUnit.MMK, "MMK", "Myanmar kyat");
2010 
2011     /** Money.MNT unit type with code 496. */
2012     public static final DisplayType MONEY_MNT =
2013             new DisplayType(SerializationUnits.MONEY, 496, MoneyUnit.MNT, "MNT", "Mongolian tögrög");
2014 
2015     /** Money.MOP unit type with code 446. */
2016     public static final DisplayType MONEY_MOP =
2017             new DisplayType(SerializationUnits.MONEY, 446, MoneyUnit.MOP, "MOP", "Macanese pataca");
2018 
2019     /** Money.MRO unit type with code 478. */
2020     public static final DisplayType MONEY_MRO =
2021             new DisplayType(SerializationUnits.MONEY, 478, MoneyUnit.MRO, "MRO", "Mauritanian ouguiya");
2022 
2023     /** Money.MUR unit type with code 480. */
2024     public static final DisplayType MONEY_MUR =
2025             new DisplayType(SerializationUnits.MONEY, 480, MoneyUnit.MUR, "MUR", "Mauritian rupee");
2026 
2027     /** Money.MVR unit type with code 462. */
2028     public static final DisplayType MONEY_MVR =
2029             new DisplayType(SerializationUnits.MONEY, 462, MoneyUnit.MVR, "MVR", "Maldivian rufiyaa");
2030 
2031     /** Money.MWK unit type with code 454. */
2032     public static final DisplayType MONEY_MWK =
2033             new DisplayType(SerializationUnits.MONEY, 454, MoneyUnit.MWK, "MWK", "Malawian kwacha");
2034 
2035     /** Money.MXN unit type with code 484. */
2036     public static final DisplayType MONEY_MXN =
2037             new DisplayType(SerializationUnits.MONEY, 484, MoneyUnit.MXN, "MXN", "Mexican peso");
2038 
2039     /** Money.MXV unit type with code 979. */
2040     public static final DisplayType MONEY_MXV = new DisplayType(SerializationUnits.MONEY, 979, MoneyUnit.MXV, "MXV",
2041             "Mexican Unidad de Inversion (UDI) (funds code)");
2042 
2043     /** Money.MYR unit type with code 458. */
2044     public static final DisplayType MONEY_MYR =
2045             new DisplayType(SerializationUnits.MONEY, 458, MoneyUnit.MYR, "MYR", "Malaysian ringgit");
2046 
2047     /** Money.MZN unit type with code 943. */
2048     public static final DisplayType MONEY_MZN =
2049             new DisplayType(SerializationUnits.MONEY, 943, MoneyUnit.MZN, "MZN", "Mozambican metical");
2050 
2051     /** Money.NAD unit type with code 516. */
2052     public static final DisplayType MONEY_NAD =
2053             new DisplayType(SerializationUnits.MONEY, 516, MoneyUnit.NAD, "NAD", "Namibian dollar");
2054 
2055     /** Money.NGN unit type with code 566. */
2056     public static final DisplayType MONEY_NGN =
2057             new DisplayType(SerializationUnits.MONEY, 566, MoneyUnit.NGN, "NGN", "Nigerian naira");
2058 
2059     /** Money.NIO unit type with code 558. */
2060     public static final DisplayType MONEY_NIO =
2061             new DisplayType(SerializationUnits.MONEY, 558, MoneyUnit.NIO, "NIO", "Nicaraguan córdoba");
2062 
2063     /** Money.NOK unit type with code 578. */
2064     public static final DisplayType MONEY_NOK =
2065             new DisplayType(SerializationUnits.MONEY, 578, MoneyUnit.NOK, "NOK", "Norwegian krone");
2066 
2067     /** Money.NPR unit type with code 524. */
2068     public static final DisplayType MONEY_NPR =
2069             new DisplayType(SerializationUnits.MONEY, 524, MoneyUnit.NPR, "NPR", "Nepalese rupee");
2070 
2071     /** Money.NZD unit type with code 554. */
2072     public static final DisplayType MONEY_NZD =
2073             new DisplayType(SerializationUnits.MONEY, 554, MoneyUnit.NZD, "NZD", "New Zealand dollar");
2074 
2075     /** Money.OMR unit type with code 512. */
2076     public static final DisplayType MONEY_OMR =
2077             new DisplayType(SerializationUnits.MONEY, 512, MoneyUnit.OMR, "OMR", "Omani rial");
2078 
2079     /** Money.PAB unit type with code 590. */
2080     public static final DisplayType MONEY_PAB =
2081             new DisplayType(SerializationUnits.MONEY, 590, MoneyUnit.PAB, "PAB", "Panamanian balboa");
2082 
2083     /** Money.PEN unit type with code 604. */
2084     public static final DisplayType MONEY_PEN =
2085             new DisplayType(SerializationUnits.MONEY, 604, MoneyUnit.PEN, "PEN", "Peruvian Sol");
2086 
2087     /** Money.PGK unit type with code 598. */
2088     public static final DisplayType MONEY_PGK =
2089             new DisplayType(SerializationUnits.MONEY, 598, MoneyUnit.PGK, "PGK", "Papua New Guinean kina");
2090 
2091     /** Money.PHP unit type with code 608. */
2092     public static final DisplayType MONEY_PHP =
2093             new DisplayType(SerializationUnits.MONEY, 608, MoneyUnit.PHP, "PHP", "Philippine peso");
2094 
2095     /** Money.PKR unit type with code 586. */
2096     public static final DisplayType MONEY_PKR =
2097             new DisplayType(SerializationUnits.MONEY, 586, MoneyUnit.PKR, "PKR", "Pakistani rupee");
2098 
2099     /** Money.PLN unit type with code 985. */
2100     public static final DisplayType MONEY_PLN =
2101             new DisplayType(SerializationUnits.MONEY, 985, MoneyUnit.PLN, "PLN", "Polish zloty");
2102 
2103     /** Money.PYG unit type with code 600. */
2104     public static final DisplayType MONEY_PYG =
2105             new DisplayType(SerializationUnits.MONEY, 600, MoneyUnit.PYG, "PYG", "Paraguayan guaraní");
2106 
2107     /** Money.QAR unit type with code 634. */
2108     public static final DisplayType MONEY_QAR =
2109             new DisplayType(SerializationUnits.MONEY, 634, MoneyUnit.QAR, "QAR", "Qatari riyal");
2110 
2111     /** Money.RON unit type with code 946. */
2112     public static final DisplayType MONEY_RON =
2113             new DisplayType(SerializationUnits.MONEY, 946, MoneyUnit.RON, "RON", "Romanian leu");
2114 
2115     /** Money.RSD unit type with code 941. */
2116     public static final DisplayType MONEY_RSD =
2117             new DisplayType(SerializationUnits.MONEY, 941, MoneyUnit.RSD, "RSD", "Serbian dinar");
2118 
2119     /** Money.RUB unit type with code 643. */
2120     public static final DisplayType MONEY_RUB =
2121             new DisplayType(SerializationUnits.MONEY, 643, MoneyUnit.RUB, "RUB", "Russian ruble");
2122 
2123     /** Money.RWF unit type with code 646. */
2124     public static final DisplayType MONEY_RWF =
2125             new DisplayType(SerializationUnits.MONEY, 646, MoneyUnit.RWF, "RWF", "Rwandan franc");
2126 
2127     /** Money.SAR unit type with code 682. */
2128     public static final DisplayType MONEY_SAR =
2129             new DisplayType(SerializationUnits.MONEY, 682, MoneyUnit.SAR, "SAR", "Saudi riyal");
2130 
2131     /** Money.SBD unit type with code 90. */
2132     public static final DisplayType MONEY_SBD =
2133             new DisplayType(SerializationUnits.MONEY, 90, MoneyUnit.SBD, "SBD", "Solomon Islands dollar");
2134 
2135     /** Money.SCR unit type with code 690. */
2136     public static final DisplayType MONEY_SCR =
2137             new DisplayType(SerializationUnits.MONEY, 690, MoneyUnit.SCR, "SCR", "Seychelles rupee");
2138 
2139     /** Money.SDG unit type with code 938. */
2140     public static final DisplayType MONEY_SDG =
2141             new DisplayType(SerializationUnits.MONEY, 938, MoneyUnit.SDG, "SDG", "Sudanese pound");
2142 
2143     /** Money.SEK unit type with code 752. */
2144     public static final DisplayType MONEY_SEK =
2145             new DisplayType(SerializationUnits.MONEY, 752, MoneyUnit.SEK, "SEK", "Swedish krona/kronor");
2146 
2147     /** Money.SGD unit type with code 702. */
2148     public static final DisplayType MONEY_SGD =
2149             new DisplayType(SerializationUnits.MONEY, 702, MoneyUnit.SGD, "SGD", "Singapore dollar");
2150 
2151     /** Money.SHP unit type with code 654. */
2152     public static final DisplayType MONEY_SHP =
2153             new DisplayType(SerializationUnits.MONEY, 654, MoneyUnit.SHP, "SHP", "Saint Helena pound");
2154 
2155     /** Money.SLL unit type with code 694. */
2156     public static final DisplayType MONEY_SLL =
2157             new DisplayType(SerializationUnits.MONEY, 694, MoneyUnit.SLL, "SLL", "Sierra Leonean leone");
2158 
2159     /** Money.SOS unit type with code 706. */
2160     public static final DisplayType MONEY_SOS =
2161             new DisplayType(SerializationUnits.MONEY, 706, MoneyUnit.SOS, "SOS", "Somali shilling");
2162 
2163     /** Money.SRD unit type with code 968. */
2164     public static final DisplayType MONEY_SRD =
2165             new DisplayType(SerializationUnits.MONEY, 968, MoneyUnit.SRD, "SRD", "Surinamese dollar");
2166 
2167     /** Money.SSP unit type with code 728. */
2168     public static final DisplayType MONEY_SSP =
2169             new DisplayType(SerializationUnits.MONEY, 728, MoneyUnit.SSP, "SSP", "South Sudanese pound");
2170 
2171     /** Money.STD unit type with code 678. */
2172     public static final DisplayType MONEY_STD =
2173             new DisplayType(SerializationUnits.MONEY, 678, MoneyUnit.STD, "STD", "São Tomé and Príncipe dobra");
2174 
2175     /** Money.SVC unit type with code 222. */
2176     public static final DisplayType MONEY_SVC =
2177             new DisplayType(SerializationUnits.MONEY, 222, MoneyUnit.SVC, "SVC", "Salvadoran colón");
2178 
2179     /** Money.SYP unit type with code 760. */
2180     public static final DisplayType MONEY_SYP =
2181             new DisplayType(SerializationUnits.MONEY, 760, MoneyUnit.SYP, "SYP", "Syrian pound");
2182 
2183     /** Money.SZL unit type with code 748. */
2184     public static final DisplayType MONEY_SZL =
2185             new DisplayType(SerializationUnits.MONEY, 748, MoneyUnit.SZL, "SZL", "Swazi lilangeni");
2186 
2187     /** Money.THB unit type with code 764. */
2188     public static final DisplayType MONEY_THB =
2189             new DisplayType(SerializationUnits.MONEY, 764, MoneyUnit.THB, "THB", "Thai baht");
2190 
2191     /** Money.TJS unit type with code 972. */
2192     public static final DisplayType MONEY_TJS =
2193             new DisplayType(SerializationUnits.MONEY, 972, MoneyUnit.TJS, "TJS", "Tajikistani somoni");
2194 
2195     /** Money.TMT unit type with code 934. */
2196     public static final DisplayType MONEY_TMT =
2197             new DisplayType(SerializationUnits.MONEY, 934, MoneyUnit.TMT, "TMT", "Turkmenistani manat");
2198 
2199     /** Money.TND unit type with code 788. */
2200     public static final DisplayType MONEY_TND =
2201             new DisplayType(SerializationUnits.MONEY, 788, MoneyUnit.TND, "TND", "Tunisian dinar");
2202 
2203     /** Money.TOP unit type with code 776. */
2204     public static final DisplayType MONEY_TOP =
2205             new DisplayType(SerializationUnits.MONEY, 776, MoneyUnit.TOP, "TOP", "Tongan pa?anga");
2206 
2207     /** Money.TRY unit type with code 949. */
2208     public static final DisplayType MONEY_TRY =
2209             new DisplayType(SerializationUnits.MONEY, 949, MoneyUnit.TRY, "TRY", "Turkish lira");
2210 
2211     /** Money.TTD unit type with code 780. */
2212     public static final DisplayType MONEY_TTD =
2213             new DisplayType(SerializationUnits.MONEY, 780, MoneyUnit.TTD, "TTD", "Trinidad and Tobago dollar");
2214 
2215     /** Money.TWD unit type with code 901. */
2216     public static final DisplayType MONEY_TWD =
2217             new DisplayType(SerializationUnits.MONEY, 901, MoneyUnit.TWD, "TWD", "New Taiwan dollar");
2218 
2219     /** Money.TZS unit type with code 834. */
2220     public static final DisplayType MONEY_TZS =
2221             new DisplayType(SerializationUnits.MONEY, 834, MoneyUnit.TZS, "TZS", "Tanzanian shilling");
2222 
2223     /** Money.UAH unit type with code 980. */
2224     public static final DisplayType MONEY_UAH =
2225             new DisplayType(SerializationUnits.MONEY, 980, MoneyUnit.UAH, "UAH", "Ukrainian hryvnia");
2226 
2227     /** Money.UGX unit type with code 800. */
2228     public static final DisplayType MONEY_UGX =
2229             new DisplayType(SerializationUnits.MONEY, 800, MoneyUnit.UGX, "UGX", "Ugandan shilling");
2230 
2231     /** Money.USD unit type with code 840. */
2232     public static final DisplayType MONEY_USD =
2233             new DisplayType(SerializationUnits.MONEY, 840, MoneyUnit.USD, "USD", "United States dollar");
2234 
2235     /** Money.USN unit type with code 997. */
2236     public static final DisplayType MONEY_USN = new DisplayType(SerializationUnits.MONEY, 997, MoneyUnit.USN, "USN",
2237             "United States dollar (next day) (funds code)");
2238 
2239     /** Money.UYI unit type with code 940. */
2240     public static final DisplayType MONEY_UYI = new DisplayType(SerializationUnits.MONEY, 940, MoneyUnit.UYI, "UYI",
2241             "Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)");
2242 
2243     /** Money.UYU unit type with code 858. */
2244     public static final DisplayType MONEY_UYU =
2245             new DisplayType(SerializationUnits.MONEY, 858, MoneyUnit.UYU, "UYU", "Uruguayan peso");
2246 
2247     /** Money.UZS unit type with code 860. */
2248     public static final DisplayType MONEY_UZS =
2249             new DisplayType(SerializationUnits.MONEY, 860, MoneyUnit.UZS, "UZS", "Uzbekistan som");
2250 
2251     /** Money.VEF unit type with code 937. */
2252     public static final DisplayType MONEY_VEF =
2253             new DisplayType(SerializationUnits.MONEY, 937, MoneyUnit.VEF, "VEF", "Venezuelan bolívar");
2254 
2255     /** Money.VND unit type with code 704. */
2256     public static final DisplayType MONEY_VND =
2257             new DisplayType(SerializationUnits.MONEY, 704, MoneyUnit.VND, "VND", "Vietnamese dong");
2258 
2259     /** Money.VUV unit type with code 548. */
2260     public static final DisplayType MONEY_VUV =
2261             new DisplayType(SerializationUnits.MONEY, 548, MoneyUnit.VUV, "VUV", "Vanuatu vatu");
2262 
2263     /** Money.WST unit type with code 882. */
2264     public static final DisplayType MONEY_WST =
2265             new DisplayType(SerializationUnits.MONEY, 882, MoneyUnit.WST, "WST", "Samoan tala");
2266 
2267     /** Money.XAF unit type with code 950. */
2268     public static final DisplayType MONEY_XAF =
2269             new DisplayType(SerializationUnits.MONEY, 950, MoneyUnit.XAF, "XAF", "CFA franc BEAC");
2270 
2271     /** Money.XAG unit type with code 961. */
2272     public static final DisplayType MONEY_XAG =
2273             new DisplayType(SerializationUnits.MONEY, 961, MoneyUnit.XAG, "XAG", "Silver (one troy ounce)");
2274 
2275     /** Money.XAU unit type with code 959. */
2276     public static final DisplayType MONEY_XAU =
2277             new DisplayType(SerializationUnits.MONEY, 959, MoneyUnit.XAU, "XAU", "Gold (one troy ounce)");
2278 
2279     /** Money.XBA unit type with code 955. */
2280     public static final DisplayType MONEY_XBA = new DisplayType(SerializationUnits.MONEY, 955, MoneyUnit.XBA, "XBA",
2281             "European Composite Unit (EURCO) (bond market unit)");
2282 
2283     /** Money.XBB unit type with code 956. */
2284     public static final DisplayType MONEY_XBB = new DisplayType(SerializationUnits.MONEY, 956, MoneyUnit.XBB, "XBB",
2285             "European Monetary Unit (E.M.U.-6) (bond market unit)");
2286 
2287     /** Money.XBC unit type with code 957. */
2288     public static final DisplayType MONEY_XBC = new DisplayType(SerializationUnits.MONEY, 957, MoneyUnit.XBC, "XBC",
2289             "European Unit of Account 9 (E.U.A.-9) (bond market unit)");
2290 
2291     /** Money.XBD unit type with code 958. */
2292     public static final DisplayType MONEY_XBD = new DisplayType(SerializationUnits.MONEY, 958, MoneyUnit.XBD, "XBD",
2293             "European Unit of Account 17 (E.U.A.-17) (bond market unit)");
2294 
2295     /** Money.XCD unit type with code 951. */
2296     public static final DisplayType MONEY_XCD =
2297             new DisplayType(SerializationUnits.MONEY, 951, MoneyUnit.XCD, "XCD", "East Caribbean dollar");
2298 
2299     /** Money.XDR unit type with code 960. */
2300     public static final DisplayType MONEY_XDR =
2301             new DisplayType(SerializationUnits.MONEY, 960, MoneyUnit.XDR, "XDR", "Special drawing rights");
2302 
2303     /** Money.XOF unit type with code 952. */
2304     public static final DisplayType MONEY_XOF =
2305             new DisplayType(SerializationUnits.MONEY, 952, MoneyUnit.XOF, "XOF", "CFA franc BCEAO");
2306 
2307     /** Money.XPD unit type with code 964. */
2308     public static final DisplayType MONEY_XPD =
2309             new DisplayType(SerializationUnits.MONEY, 964, MoneyUnit.XPD, "XPD", "Palladium (one troy ounce)");
2310 
2311     /** Money.XPF unit type with code 953. */
2312     public static final DisplayType MONEY_XPF =
2313             new DisplayType(SerializationUnits.MONEY, 953, MoneyUnit.XPF, "XPF", "CFP franc (franc Pacifique)");
2314 
2315     /** Money.XPT unit type with code 962. */
2316     public static final DisplayType MONEY_XPT =
2317             new DisplayType(SerializationUnits.MONEY, 962, MoneyUnit.XPT, "XPT", "Platinum (one troy ounce)");
2318 
2319     /** Money.XSU unit type with code 994. */
2320     public static final DisplayType MONEY_XSU = new DisplayType(SerializationUnits.MONEY, 994, MoneyUnit.XSU, "XSU", "SUCRE");
2321 
2322     /** Money.XTS unit type with code 963. */
2323     public static final DisplayType MONEY_XTS =
2324             new DisplayType(SerializationUnits.MONEY, 963, MoneyUnit.XTS, "XTS", "Code reserved for testing purposes");
2325 
2326     /** Money.XUA unit type with code 965. */
2327     public static final DisplayType MONEY_XUA =
2328             new DisplayType(SerializationUnits.MONEY, 965, MoneyUnit.XUA, "XUA", "ADB Unit of Account");
2329 
2330     /** Money.XX unit type with code 999. */
2331     public static final DisplayType MONEY_XXX =
2332             new DisplayType(SerializationUnits.MONEY, 999, MoneyUnit.XXX, "XXX", "No currency");
2333 
2334     /** Money.YER unit type with code 886. */
2335     public static final DisplayType MONEY_YER =
2336             new DisplayType(SerializationUnits.MONEY, 886, MoneyUnit.YER, "YER", "Yemeni rial");
2337 
2338     /** Money.ZAR unit type with code 710. */
2339     public static final DisplayType MONEY_ZAR =
2340             new DisplayType(SerializationUnits.MONEY, 710, MoneyUnit.ZAR, "ZAR", "South African rand");
2341 
2342     /** Money.ZMW unit type with code 967. */
2343     public static final DisplayType MONEY_ZMW =
2344             new DisplayType(SerializationUnits.MONEY, 967, MoneyUnit.ZMW, "ZMW", "Zambian kwacha");
2345 
2346     /** Money.ZWL unit type with code 932. */
2347     public static final DisplayType MONEY_ZWL =
2348             new DisplayType(SerializationUnits.MONEY, 932, MoneyUnit.ZWL, "ZWL", "Zimbabwean dollar A/10");
2349 
2350     /** Money.XBT unit type with code 1000. */
2351     public static final DisplayType MONEY_XBT =
2352             new DisplayType(SerializationUnits.MONEY, 1000, MoneyUnit.XBT, "XBT", "Bitcoin");
2353 
2354     /* =================================================== END TYPES ===================================================== */
2355 
2356     /**
2357      * @param unitType the corresponding 0MQ unit type
2358      * @param code the code of the unit provided as an int
2359      * @param djunitsType the djunits data type
2360      * @param name the unit name
2361      * @param abbreviation the unit abbreviation
2362      * @param <U> the unit
2363      */
2364     public <U extends Unit<U>> DisplayType(final SerializationUnits unitType, final int code, final U djunitsType,
2365             final String name, final String abbreviation)
2366     {
2367         super();
2368         this.unitType = unitType;
2369         this.code = code;
2370         this.djunitsType = djunitsType;
2371         this.name = name;
2372         this.abbreviation = abbreviation;
2373         Map<Integer, DisplayType> codeMap = codeDisplayTypeMap.get(this.unitType);
2374         if (codeMap == null)
2375         {
2376             codeMap = new HashMap<>();
2377             codeDisplayTypeMap.put(this.unitType, codeMap);
2378         }
2379         codeMap.put(this.code, this);
2380         djunitsDisplayTypeMap.put(this.djunitsType, this);
2381     }
2382 
2383     /**
2384      * Return the display type belonging to the display code.
2385      * @param unitType UnitType; the unit type to search for
2386      * @param code the code to search for.
2387      * @return the unit type, or null if not found.
2388      */
2389     public static DisplayType getDisplayType(final SerializationUnits unitType, final Integer code)
2390     {
2391         Map<Integer, DisplayType> byteMap = codeDisplayTypeMap.get(unitType);
2392         return byteMap == null ? null : byteMap.get(code);
2393     }
2394 
2395     /**
2396      * Return the display type belonging to the display code.
2397      * @param unitTypeCode the unit type to search for
2398      * @param code the code to search for.
2399      * @return the unit type, or null if not found.
2400      */
2401     public static DisplayType getDisplayType(final byte unitTypeCode, final int code)
2402     {
2403         SerializationUnits unitType = SerializationUnits.getUnitType(unitTypeCode);
2404         Map<Integer, DisplayType> codeMap = codeDisplayTypeMap.get(unitType);
2405         return codeMap == null ? null : codeMap.get(code);
2406     }
2407 
2408     /**
2409      * Return the unit belonging to the display code.
2410      * @param unitTypeCode the unit type to search for
2411      * @param code the code to search for.
2412      * @return the unit type, or null if not found.
2413      */
2414     public static Unit<?> getUnit(final byte unitTypeCode, final int code)
2415     {
2416         SerializationUnits unitType = SerializationUnits.getUnitType(unitTypeCode);
2417         Map<Integer, DisplayType> codeMap = codeDisplayTypeMap.get(unitType);
2418         return codeMap == null ? null : codeMap.get(code) == null ? null : codeMap.get(code).djunitsType;
2419     }
2420 
2421     /**
2422      * Return the unit belonging to the display code.
2423      * @param unitType the unit type to search for
2424      * @param code the code to search for.
2425      * @return the unit type, or null if not found.
2426      */
2427     public static Unit<?> getUnit(final SerializationUnits unitType, final int code)
2428     {
2429         Map<Integer, DisplayType> codeMap = codeDisplayTypeMap.get(unitType);
2430         return codeMap == null ? null : codeMap.get(code) == null ? null : codeMap.get(code).djunitsType;
2431     }
2432 
2433     /**
2434      * @return unitType
2435      */
2436     public SerializationUnits getUnitType()
2437     {
2438         return this.unitType;
2439     }
2440 
2441     /**
2442      * Return the unit type belonging to the unit class.
2443      * @param unit the unit to search for.
2444      * @return the unit type, or null if not found.
2445      * @param <U> the unit
2446      */
2447     public static <U extends Unit<U>> DisplayType getDisplayType(final U unit)
2448     {
2449         return djunitsDisplayTypeMap.get(unit);
2450     }
2451 
2452     /**
2453      * Return the display code belonging to the unit class.
2454      * @param unit the unit to search for.
2455      * @return the unit type, or null if not found.
2456      * @param <U> the unit
2457      */
2458     public static <U extends Unit<U>> int getIntCode(final U unit)
2459     {
2460         SerializationUnits type = SerializationUnits.getUnitType(unit);
2461         DisplayType displayType = type == null ? null : getDisplayType(unit);
2462         return displayType == null ? null : displayType.getIntCode();
2463     }
2464 
2465     /**
2466      * Return the display code belonging to the unit class.
2467      * @param unit the unit to search for.
2468      * @return the unit type, or null if not found.
2469      * @param <U> the unit
2470      */
2471     public static <U extends Unit<U>> byte getByteCode(final U unit)
2472     {
2473         SerializationUnits type = SerializationUnits.getUnitType(unit);
2474         DisplayType displayType = type == null ? null : getDisplayType(unit);
2475         return displayType == null ? null : displayType.getByteCode();
2476     }
2477 
2478     /**
2479      * @return code
2480      */
2481     public final int getIntCode()
2482     {
2483         return this.code;
2484     }
2485 
2486     /**
2487      * @return code
2488      */
2489     public final byte getByteCode()
2490     {
2491         return (byte) (this.code & 0xFF);
2492     }
2493 
2494     /**
2495      * @return djunitsType
2496      */
2497     public final Unit<?> getDjunitsType()
2498     {
2499         return this.djunitsType;
2500     }
2501 
2502     /**
2503      * @return name
2504      */
2505     public final String getName()
2506     {
2507         return this.name;
2508     }
2509 
2510     /**
2511      * @return abbreviation
2512      */
2513     public final String getAbbreviation()
2514     {
2515         return this.abbreviation;
2516     }
2517 
2518 }