Each type has a default property descriptor. The purpose of this default property descriptor is not to describe the structure of the type. Instead, it specifies the default business rules and behavior for that data type, the validator used to check instance data, and converters used to transform instance data into a different format.
For example, an IntegerDescriptor may specify minimum and maximum values, a validator to ensure that instance values are between the minimum and maximum, and a converter to transform and Integer instance into a String. Typically, the default behavior provided by the default property descriptor is sufficient for instances of the type to use unchanged. You can use the default property descriptor as a template for creating special property descriptors for more specific types. For example, the default property descriptor of a general type called Money (MoneyDescriptor) may describe most or all of the business rules for a data element called Balance of the specific type called Account. You would then use the MoneyDescriptor as the template to create the AccountDescriptor and add default business rules that are appropriate for accounts.
Note The default behavior provided by the default property descriptor may be sufficient for most purposes.