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

Standard implementation of a property manager \(PM\) using one or more definition managers \(PDM\) to define legal properties. 

 This implementation allows the chaining of property managers: if a configuration object does not contain a searched property, that property may be searched in a "master" property manager. 

 On a property change, this class notifies all listeners, including the property managers that have it registered as a master.

## Constructor: PropertyManager
- parameter: `pdm`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`
- parameter: `config`, type: `com.pnfsoftware.jeb.core.properties.IConfiguration`
- parameter: `master`, type: `com.pnfsoftware.jeb.core.properties.IPropertyManager`

Description: Create a property manager, attach it to a PDM. 

 If both a configuration object and a master PM are specified, the configuration object is searched first.
parameter: pdm: optional PDM
parameter: config: optional, in which case a master PM should be specified
parameter: master: optional, in which case a configuration object should be specified

## Constructor: PropertyManager
- parameter: `pdm`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`
- parameter: `config`, type: `com.pnfsoftware.jeb.core.properties.IConfiguration`

Description: Create a property manager without a master PM.
parameter: pdm: optional PDM
parameter: config: mandatory configuration object

## Constructor: PropertyManager
- parameter: `pdm`, type: `com.pnfsoftware.jeb.core.properties.IPropertyDefinitionManager`
- parameter: `master`, type: `com.pnfsoftware.jeb.core.properties.IPropertyManager`

Description: Create a configuration object\-less property manager. In that case, the master PM is mandatory and will be used as a proxy when setting or getting properties.
parameter: pdm: optional PDM
parameter: master: mandatory master PM

## Method: dispose


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


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


## Method: getBooleanUnsafe
- parameter: `name`, type: `java.lang.String`
- return type: `java.lang.Boolean`


## Method: getConfiguration
- return type: `com.pnfsoftware.jeb.core.properties.IConfiguration`


## Method: getInteger
- parameter: `name`, type: `java.lang.String`
- return type: `int`


## Method: getInteger
- parameter: `name`, type: `java.lang.String`
- parameter: `defaultOnNull`, type: `int`
- return type: `int`


## Method: getIntegerUnsafe
- parameter: `name`, type: `java.lang.String`
- return type: `java.lang.Integer`


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


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


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


## Method: getString
- parameter: `name`, type: `java.lang.String`
- parameter: `defaultOnNull`, type: `java.lang.String`
- return type: `java.lang.String`


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


## Method: getValue
- parameter: `name`, type: `java.lang.String`
- return type: `java.lang.Object`


## Method: getValue
- parameter: `name`, type: `java.lang.String`
- parameter: `checkingDepth`, type: `int`
- parameter: `resolveDefault`, type: `boolean`
- parameter: `validateValue`, type: `boolean`
- return type: `java.lang.Object`


## Method: setBoolean
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Boolean`
- return type: `boolean`


## Method: setBoolean
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Boolean`
- parameter: `co`, type: `com.pnfsoftware.jeb.core.properties.impl.PropertyChangeObject`
- return type: `boolean`


## Method: setInteger
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Integer`
- return type: `boolean`


## Method: setInteger
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Integer`
- parameter: `co`, type: `com.pnfsoftware.jeb.core.properties.impl.PropertyChangeObject`
- return type: `boolean`


## Method: setOwnerName
- parameter: `ownerName`, type: `java.lang.String`


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


## Method: setString
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.String`
- parameter: `co`, type: `com.pnfsoftware.jeb.core.properties.impl.PropertyChangeObject`
- return type: `boolean`


## Method: setValue
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Object`
- return type: `boolean`


## Method: setValue
- parameter: `name`, type: `java.lang.String`
- parameter: `value`, type: `java.lang.Object`
- parameter: `validateValue`, type: `boolean`
- parameter: `co`, type: `com.pnfsoftware.jeb.core.properties.impl.PropertyChangeObject`
- return type: `boolean`


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


