An attribute definition may have one of 4 visibilities. This may be one of {@link #USER_OVERRIDABLE_ATTRIBUTE}, {@link #USER_VIEWABLE_ATTRIBUTE}, {@link #USER_USEABLE_ATTRIBUTE} or{@link #USER_CONFIDENTIAL_ATTRIBUTE}.
User Confidential attributes are encrypted using the users private key. See {@link com.adito.security.PublicKeyStore}.
Attribute definitions may be registered without being stored to the database by using {@link PropertyClass#registerPropertyDefinition(PropertyDefinition)} via {@link PropertyClassManager#getPropertyClass(String)}.
This is useful for plugins who may wish to attribute definitions without the user having to configure them. Such definitions cannot be edited or removed and should be marked as System.
In addition to the capabilities of a property definition, attribute definitions also require a label. Attributes registered as System may provide message resources that will be used in preference to the label field this class supports. This requires that the bundle ID has also been supplied. Message resources for labels should be specified as userAttribte.[name].title.
In the same way as labels, descriptions may also be supplied. This requires that the bundle ID has also been supplied and a message resource specified as userAttribte.[name].description exists.
Definitions may be categorised in one of two ways. Either a category ID that is a registered {@link com.adito.boot.PropertyDefinitionCategory}may be supplied, or a simple text label. The former is most likely to be used by attribute definitions registered by the core and plugins, the later for user defined definitions.
Attributes also have a replaceable attribute that determines if they may be used as replacement variables for attributes of the various different resource types. @see com.adito.security.UserDatabase
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|