Each property that may be stored store is keyed by its
id. For each unique
id there must have been a single
Property Definition storing with the property database using {@link com.adito.properties.PropertyDatabase#storeAttributeValue(com.adito.properties.attributes.AbstractAttributeKey,String)}
Each definition contains information about the value that will be stored against it. This includes the type of value (string, integer, boolean etc), the bundle in which the human readable name and description is held, its category ID and other information.
Every property definition consists of the following attributes :-
Type
This determines the type of values that will be stored against this definition. See {@link #getType()} for a list of the possible values. Propertiesare be stored as strings. The type is then used by the user interface to present to appropriate component and convert to and from strings.
Name
This is the unique identifier of the property and must be unique. All properties are keyed by their name (or ID as it is sometimes known).
Default Value
Every property must have a sane default value that is used when no value has been set.
Type Meta
Meta-data about the property. The contents and format of this string will vary depending on the type. For example, {@link #TYPE_TEXT_AREA}type meta may contains a string in the format '[rows]X[cols]' that specifies the size of the text area the UI should display.
Category
The category ID this property exists under. See {@link com.adito.properties.PropertyDatabase}for an explanation of categories.
Sort Order
A hint as to where the property should be placed in relation to others in the same category and visibility. The lower the value, the higher up the list. The two properties may exists with the same sort order but the behaviour is undefined.
Message Resources Key
The message resource bundle key as defined in the Struts configuration XML files (struts-config.xml).
Restart Required
A few properties may require that a restart is performed before they take effect. This flag provides a hint to this effect.
@see com.adito.properties.PropertyDatabase