# Package com.comtrade.ecm.engine.datatypes

Additional DataTypes.
All of them must implement `DataType` interface.

See: Description

- Class Summary
  Class | Description
  --- | ---
  Amount | Monetory amount. Decimal number with exactly two decimals.
  Date | Object that keeps information regarding a calendar date : a year, a month [1-12], and a dayOfMonth [1-28|29|30|31]. Month is INTENTIONALLY returned as an int, in order to avoid dependency on `Month`. There are no public constructors, all of the objects must be created using factory methods.
  DateTime | Object that keeps information of both : - a calendar date : a year, a month [1-12], and a dayOfMonth [1-28|29|30|31]. - a time (in a day) : an hour [0-23], a minute [0-59], a second [0-59], and a nano [0-999_999_999]. Month is INTENTIONALLY returned as an int, in order to avoid dependency on `Month`. There are no public constructors, all of the objects must be created using factory methods.
  DecimalNumber |
  Id | A reference to other objects. It performs a role of a primary key of a foreign set of data.
  ObjectsConverter |
  Percentage | Decimal number with arbitrary number of decimals but with (potentially) specific manner of localization.
  TestAmount |
  TestDate |
  TestDateTime |
  TestDecimalNumber |
  TestPercentage |
  TestTime |
  Text |
  Time | Object that keeps information regarding a time (in a day) : an hour [0-23], a minute [0-59], a second [0-59], and a nano [0-999_999_999]. There are no public constructors, all of the objects must be created using factory methods.

- Enum Summary
  Enum | Description
  --- | ---
  Date.Unit | Units to be used in `Date`-mathemathics.
  DateTime.Unit | Units to be used in `DateTime`-mathemathics.
  Time.Unit | Units to be used in `Time`-mathemathics.

## Package com.comtrade.ecm.engine.datatypes Description

Additional DataTypes.
All of them must implement `DataType` interface.