public class

PropertyDefinitionManager

extends Object
implements IPropertyDefinitionManager
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.properties.impl.PropertyDefinitionManager

Class Overview

A simple property definitions manager (PDM). Properties can be organized in regions and sub-regions.

Summary

Public Constructors
PropertyDefinitionManager(String region, IPropertyDefinitionManager parent)
Create a new PDM.
PropertyDefinitionManager(String region)
Create a new PDM.
PropertyDefinitionManager()
Create a new PDM.
Public Methods
IPropertyDefinition addDefinition(String name, IPropertyType type, int descriptionId, boolean internal, boolean allowOverride)
IPropertyDefinition addDefinition(String name, IPropertyType type, int descriptionId)
Add a property definition.
IPropertyDefinition addDefinition(String name, IPropertyType type)
Add a property definition.
IPropertyDefinition addDefinition(String name, IPropertyType type, String description, boolean internal, boolean allowOverride)
IPropertyDefinition addDefinition(String name, IPropertyType type, String description)
Add a property definition.
IPropertyDefinition addInternalDefinition(String name, IPropertyType type)
Add an internal property definition.
void attachToParent(IPropertyDefinitionManager parentManager)
Attach this PDM a parent PDM.
IPropertyDefinitionManager getChild(String name)
Get a child PDM by region name.
List<IPropertyDefinitionManager> getChildren()
Get the children of this PDM.
IPropertyDefinition getDefinition(String name)
Retrieve a property definition.
List<IPropertyDefinition> getDefinitions()
Get the list of definitions within this PDM.
String getNamespace()
Fully qualified namespace of the currently PDM, eg ".com.pnfsoftware.foo"
IPropertyDefinitionManager getParent()
Get the parent of this PDM.
String getRegion()
Region name (lower case), never null.
boolean registerChild(IPropertyDefinitionManager child)
Register a PDM as a child region.
void removeDefinition(String name)
Remove a property.
String toString()
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager

Public Constructors

public PropertyDefinitionManager (String region, IPropertyDefinitionManager parent)

Create a new PDM.

Parameters
region set to null to create a root PDM, else must be a valid region name. A valid region name is a valid Java identifier name
parent optional parent PDM, used to form a tree of properties, such as .region0.region1.PropertyXyz

public PropertyDefinitionManager (String region)

Create a new PDM. Same as PropertyDefinitionManager(region, null)

Parameters
region set to null to create a root PDM, else must be a valid region name

public PropertyDefinitionManager ()

Create a new PDM. Same as PropertyDefinitionManager(null, null)

Public Methods

public IPropertyDefinition addDefinition (String name, IPropertyType type, int descriptionId, boolean internal, boolean allowOverride)

public IPropertyDefinition addDefinition (String name, IPropertyType type, int descriptionId)

Add a property definition.

Parameters
name the property name
type the property type
descriptionId an optional description id (currently not used)
Returns
  • the newly created property definition

public IPropertyDefinition addDefinition (String name, IPropertyType type)

Add a property definition.

Parameters
name the property name
type the property type
Returns
  • the newly created property definition

public IPropertyDefinition addDefinition (String name, IPropertyType type, String description, boolean internal, boolean allowOverride)

public IPropertyDefinition addDefinition (String name, IPropertyType type, String description)

Add a property definition.

Parameters
name the property name
type the property type
description an optional description string
Returns
  • the newly created property definition

public IPropertyDefinition addInternalDefinition (String name, IPropertyType type)

Add an internal property definition.

Parameters
name the property name
type the property type
Returns
  • the newly created property definition

public void attachToParent (IPropertyDefinitionManager parentManager)

Attach this PDM a parent PDM. The region name within the parent's children namespace must be available.

Parameters
parentManager a parent PDM

public IPropertyDefinitionManager getChild (String name)

Get a child PDM by region name.

Parameters
name the region name
Returns
  • the child - never null, the implementor should raise on error

public List<IPropertyDefinitionManager> getChildren ()

Get the children of this PDM.

Returns
  • a list of children, potentially empty (never null)

public IPropertyDefinition getDefinition (String name)

Retrieve a property definition.

Parameters
name the property name
Returns
  • the property

public List<IPropertyDefinition> getDefinitions ()

Get the list of definitions within this PDM. Hierarchies are not navigated, only the current level properties are returned.

Returns
  • never null

public String getNamespace ()

Fully qualified namespace of the currently PDM, eg ".com.pnfsoftware.foo"

Returns
  • the FQNS

public IPropertyDefinitionManager getParent ()

Get the parent of this PDM.

Returns
  • the parent, null if this PDM is a root

public String getRegion ()

Region name (lower case), never null. A root region is the empty-string.

Returns
  • the region name

public boolean registerChild (IPropertyDefinitionManager child)

Register a PDM as a child region. To be used in conjunction with attachToParent.

Parameters
child the child PDM
Returns
  • success indicator

public void removeDefinition (String name)

Remove a property.

Parameters
name the property name

public String toString ()