# Interface: com.pnfsoftware.jeb.core.properties.IPropertyDefinitionGroup

A group of property definitions. Groups offer an additional way to separate properties stored within a same namespace \(PDM\).

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

Description: Add a definition to the group.
parameter: name: property name
parameter: type: property type
return: the newly created definition

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

Description: Add a definition to the group.
parameter: name: property name
parameter: type: property type
parameter: description: optional property description
return: the newly created definition

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

Description: Add a definition to the group.
parameter: name: property name
parameter: type: property type
parameter: description: optional property description
parameter: flags: property flags, using [IPropertyDefinition#FLAG_INTERNAL](IPropertyDefinition#FLAG_INTERNAL) and related constants
return: the newly created definition

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

Description: Retrieve the definitions stored in the group.
return: the property definitions belonging to the group

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

Description: Retrieve the group name. A PDM's properties are stored in the default group by default, which is the anonymous \(empty name\) group.
return: the group name, or the empty string for the default group

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

Description: Determine whether this group is the anonymous default group.
return: `true` if this is the default group

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

Description: Remove a definition from the group.
parameter: name: 

