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

Standard implementation of a property definitions manager \(PDM\). Properties can be organized in regions and sub\-regions.

## 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: flags: 

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


## 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`


