Class declarations contain properties. Each property has a type which can either be a type defined in the same namespace, an imported type, or a primitive type.
Concerto supports the following primitive types:
|a UTF8 encoded String.|
|a double precision 64 bit numeric value.|
|a 32 bit signed whole number.|
|a 64 bit signed whole number.|
|an ISO-8601 compatible time instance, with optional time zone and UTZ offset.|
|a Boolean value, either true or false.|
|declares that the property is an array|
|declares that the property is not required for the instance to be valid|
|declares a default value for the property, if not value is specified|
|declares a valid range for numeric properties|
|declares a validation regex for string properties|
String fields may include an optional regular expression, which is used to validate the contents of the field. Careful use of field validators allows Concerto to perform rich data validation, leading to fewer errors and less boilerplate application code.
Integer fields may include an optional range expression, which is used to validate the contents of the field.