# Data Objects

Both `PageHeader` and `PageBody` are "wrappers" on underlying Maps that hold datatypes of various types, keyed by field names (strings). The valid field names for a service are described in the service meta info file (an xml document). Null values are not allowed; use empty strings to represent missing values (for null date, for example).

Note that most system datatypes are represented in these Java objects as simple strings. Note the following:

- Booleans are represented by the Java Boolean class.
- Date values are represented as Strings in the format YYYY-MM-DD.
- Date/Time values are represented as Strings in the format YYYY-MM-DD-HH:MM:SS.
- Time values are represented as Strings in the format HH:MM:SS.
- BigInteger values are represented as Java BigInteger values.
- BigDecimal and Money values are represented as Java BigDecimal values, with the appropriate scale.

- PageHeader and PageBody Methods
- PageHeader
- PageBody
- ItemList
- ListHeader
- ListBody
- CMServiceConfig.xml structure

Parent topic: Public API