When creating the new Unit, it must have a Category as its supername.
If it is a standard unit that does not need any additional Java code,
the runtime is com.engineous.sdk.unit.StandardUnit with
parameters that contain the values of the symbol, the conversion factor,
and a series of comma separated tags. If custom Java code is used, the
runtime class must implement the interface “UnitProper,” which requires
that only the symbol and tags be defined.
Example Unit (no custom code)
<MetaModel name="com.engineous.unit.length.Metric
supername="com.engineous.unit.Length" superversion="2.*.*"
version="3.0.0">
<Requires>
<SystemRelease>5.6+</SystemRelease>
</Requires>
<DisplayName>meter</DisplayName>
<Description>Base unit of length</Description>
<Runtime
type="com.engineous.sdk.vars.Unit">com.engineous.sdk.unit.St
andardUnit</Runtime>
<Variables>
<Variable mode="local" name="symbol" role="property"
structure="scalar" tag="symbol"
type="com.engineous.datatype.String">
<Value>m</Value>
</Variable>
<Variable mode="local" name="conversion" role="property"
structure="scalar" tag="conversion">
type="com.engineous.datatype.Real">
<Value>1</Value>
</Variable>
<Variable mode="local" name="tags" role="property"
structure="scalar" tag="tags">
type="com.engineous.datatype.String">
<Value>SI</Value>
</Variable>
</Variables>
</MetaModel>
Example Unit (custom code)
<MetaModel
name="com.engineous.unit.thermodynamic_temperature.celsius.Celsius"
version="2.0.0"
supername="com.engineous.unit.thermodynamic_temperature.ThermodynamicTem
perature" superversion="2.*.*">
<Requires>
<SystemRelease>2017</SystemRelease>
</Requires>
<DisplayName>Celsius</DisplayName>
<Description></Description>
<Runtime
type="com.engineous.sdk.vars.Unit">com.engineous.unit.thermo
dynamic_temperature.celsius.StandardCelsiusUnit</Runtime>
<Variables>
<Variable name="abbreviation" tag="abbreviation"
role="property" mode="local" structure="scalar"
type="com.engineous.datatype.String">
<Value>C</Value>
</Variable>
Variable mode="local" name="tags" role="property"
structure="scalar" tag="tags"
type="com.engineous.datatype.String">
<Value>Non SI</Value>
</Variable>
</Variables>
</MetaModel>