com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager |
Known Indirect Subclasses |
API for a property definition manager (PDM). PDMs can be chained to form a hierarchy of properties. Each PDM defines a region. PDM regions are standard lower case identifiers. Properties are camel case identifiers. Naming convention should be enforced, not optional. Member methods should throw a RuntimeException on failure.
PDM support the definition of boolean, integer, and string properties.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | FLAG_ALLOW_LOOK_UP | ||||||||||
int | FLAG_MAY_ALPHASORT_CHILDREN | If this flag is set, it indicates to clients that children PDM are in no particular order and may be sorted. | |||||||||
int | FLAG_SHOULD_NOT_ALPHASORT_CHILDREN | If this flag is set, it indicates to clients that children PDM are in a specific order and should be sorted. | |||||||||
String | pdmGroupDefault | The default (anonymous) group name: an empty string. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract IPropertyDefinition |
addDefinition(String name, IPropertyType type, String description)
Add a property definition.
| ||||||||||
abstract IPropertyDefinition |
addDefinition(String name, IPropertyType type, String description, int flags)
Add a property definition.
| ||||||||||
abstract IPropertyDefinitionGroup |
addGroup(String name)
Create a group.
| ||||||||||
abstract IPropertyDefinition |
addInternalDefinition(String name, IPropertyType type)
Add an internal property definition.
| ||||||||||
abstract IPropertyDefinition |
addInternalDefinition(String name, IPropertyType type, String description)
Add an internal property definition.
| ||||||||||
abstract void |
attachToParent(IPropertyDefinitionManager parent)
Attach this PDM a parent PDM.
| ||||||||||
abstract IPropertyDefinitionManager |
getChild(String name)
Get a child PDM by region name.
| ||||||||||
abstract Collection<IPropertyDefinitionManager> |
getChildren()
Get the children of this PDM.
| ||||||||||
abstract IPropertyDefinition |
getDefinition(String name)
Retrieve a property definition.
| ||||||||||
abstract Collection<IPropertyDefinition> |
getDefinitions()
Get the list of definitions within this PDM.
| ||||||||||
abstract String | getDescription() | ||||||||||
abstract int | getFlags() | ||||||||||
abstract IPropertyDefinitionGroup |
getGroup(String name)
Retrieve an existing group.
| ||||||||||
abstract Collection<IPropertyDefinitionGroup> |
getGroups()
Retrieve all groups in this PDM.
| ||||||||||
abstract String |
getNamespace()
Fully qualified namespace of this PDM, eg ".com.pnfsoftware.foo"
| ||||||||||
abstract IPropertyDefinitionManager |
getParent()
Get the parent of this PDM.
| ||||||||||
abstract String |
getRegion()
Region name (lower case), never null.
| ||||||||||
abstract boolean | hasChildren() | ||||||||||
abstract boolean | hasDefinitions() | ||||||||||
abstract boolean |
isRoot()
Determine if this PDM is a root manager.
| ||||||||||
abstract boolean |
registerChild(IPropertyDefinitionManager child)
Register a PDM as a child region.
| ||||||||||
abstract void |
removeDefinition(String name)
Remove a property.
| ||||||||||
abstract boolean |
removeGroup(String name)
Remove a group.
|
If this flag is set, it indicates to clients that children PDM are in no particular order and may be sorted.
If this flag is set, it indicates to clients that children PDM are in a specific order and should be sorted.
The default (anonymous) group name: an empty string.
Add a property definition.
name | the property name |
---|---|
type | the property type |
description | an optional description string |
Add a property definition.
Add an internal property definition.
name | the property name |
---|---|
type | the property type |
Add an internal property definition.
name | the property name |
---|---|
type | the property type |
description | optional description |
Attach this PDM a parent PDM. The region name within the parent's children namespace must be available.
parent | a parent PDM |
---|
Get a child PDM by region name.
name | the region name |
---|
Get the children of this PDM.
Retrieve a property definition.
name | the simple (local) property name (of a property managed by this manager) |
---|
Get the list of definitions within this PDM. Hierarchies are not navigated, only the current level properties are returned.
Retrieve an existing group.
name | a non-empty name |
---|
Retrieve all groups in this PDM. Note that the default group (whose name is empty) always exists and is returned as first element of the collection.
Fully qualified namespace of this PDM, eg ".com.pnfsoftware.foo"
Get the parent of this PDM.
Region name (lower case), never null. A root region is the empty-string.
Determine if this PDM is a root manager.
Register a PDM as a child region. To be used in conjunction with attachToParent.
child | the child PDM |
---|
Remove a property.
name | the property name |
---|
Remove a group. When a group is removed, all its property definitions are added to the default group.
name | non-empty group name (the default group cannot be removed) |
---|