# Class: com.pnfsoftware.jeb.core.properties.impl.PropertyDefinitionManager

Standard implementation of [IPropertyDefinitionManager](IPropertyDefinitionManager). 

 Properties can be organized in regions, sub\-regions, and display groups.

## Constructor: PropertyDefinitionManager
- parameter: `region`, type: `java.lang.String`
- parameter: `parent`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`
- parameter: `description`, type: `java.lang.String`
- parameter: `flags`, type: `int`

Description: Create a new PDM.
parameter: 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
parameter: parent: optional parent PDM, used to form a tree of properties, such as            `.region0.region1.PropertyXyz`
parameter: description: optional namespace description
parameter: flags: manager flags

## Constructor: PropertyDefinitionManager
- parameter: `region`, type: `java.lang.String`
- parameter: `parent`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`

Description: Create a new PDM with default flags and no description.
parameter: region: region name, or `null` for a root PDM
parameter: parent: optional parent PDM

## Constructor: PropertyDefinitionManager
- parameter: `region`, type: `java.lang.String`

Description: Create a new PDM. Same as [PropertyDefinitionManager\(region, null\)](#PropertyDefinitionManager(String, IPropertyDefinitionManager))
parameter: region: set to null to create a root PDM, else must be a valid region name

## Constructor: PropertyDefinitionManager

Description: Create a new PDM. Same as [PropertyDefinitionManager\(null, null\)](#PropertyDefinitionManager(String, IPropertyDefinitionManager))

## Method: addDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.properties.IPropertyType`
- parameter: `description`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinition`


## Method: addDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.properties.IPropertyType`
- parameter: `description`, type: `java.lang.String`
- parameter: `flags`, type: `int`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinition`


## Method: addGroup
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionGroup`


## Method: addInternalDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.properties.IPropertyType`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinition`


## Method: addInternalDefinition
- parameter: `name`, type: `java.lang.String`
- parameter: `type`, type: `com.pnfsoftware.jeb.core.properties.IPropertyType`
- parameter: `description`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinition`


## Method: attachToParent
- parameter: `parentManager`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`


## Method: getChild
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`


## Method: getChildren
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager>`


## Method: getDefinition
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinition`


## Method: getDefinitions
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.properties.IPropertyDefinition>`


## Method: getDescription
- return type: `java.lang.String`


## Method: getFlags
- return type: `int`


## Method: getGroup
- parameter: `name`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionGroup`


## Method: getGroups
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.properties.IPropertyDefinitionGroup>`


## Method: getNamespace
- return type: `java.lang.String`


## Method: getParent
- return type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`


## Method: getRegion
- return type: `java.lang.String`


## Method: hasChildren
- return type: `boolean`


## Method: hasDefinitions
- return type: `boolean`


## Method: isRoot
- return type: `boolean`


## Method: registerChild
- parameter: `child`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`
- return type: `boolean`


## Method: removeDefinition
- parameter: `name`, type: `java.lang.String`


## Method: removeGroup
- parameter: `name`, type: `java.lang.String`
- return type: `boolean`


## Method: toString
- return type: `java.lang.String`


