public interface

IPropertyDefinitionManager

com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager
Known Indirect Subclasses

Class Overview

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.

Summary

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 IPropertyDefinition addInternalDefinition(String name, IPropertyType type)
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 List<IPropertyDefinitionManager> getChildren()
Get the children of this PDM.
abstract IPropertyDefinition getDefinition(String name)
Retrieve a property definition.
abstract List<IPropertyDefinition> getDefinitions()
Get the list of definitions within this PDM.
abstract String getNamespace()
Fully qualified namespace of the currently 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 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.

Public Methods

public abstract 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 abstract IPropertyDefinition addDefinition (String name, IPropertyType type, String description, int flags)

Add a property definition.

public abstract 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 abstract void attachToParent (IPropertyDefinitionManager parent)

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

Parameters
parent a parent PDM

public abstract IPropertyDefinitionManager getChild (String name)

Get a child PDM by region name.

Parameters
name the region name
Returns
  • the child, null if does not exist

public abstract List<IPropertyDefinitionManager> getChildren ()

Get the children of this PDM.

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

public abstract IPropertyDefinition getDefinition (String name)

Retrieve a property definition.

Parameters
name the simple (local) property name (of a property managed by this manager)
Returns
  • the definition of null

public abstract 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 abstract String getNamespace ()

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

Returns
  • the FQNS

public abstract IPropertyDefinitionManager getParent ()

Get the parent of this PDM.

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

public abstract String getRegion ()

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

Returns
  • the region name

public abstract boolean isRoot ()

Determine if this PDM is a root manager.

public abstract 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 abstract void removeDefinition (String name)

Remove a property.

Parameters
name the property name