To reference nested attributes a dot ('.') notation is used to reference
related attributes. All attribute names provided are assumed to be correct
until processed against the mappings during usage of the group.

addAttribute(java.lang.String attributeNameOrPath)
Add a basic attribute or nested attribute with each String representing
an attribute on the path to what needs to be included in the
AttributeGroup.

void

addAttribute(java.lang.String attributeNameOrPath,
AttributeGroup group)
Add a basic attribute or nested attribute with each String representing
an attribute on the path to what needs to be included in the
AttributeGroup.

void

addAttribute(java.lang.String attributeNameOrPath,
java.util.Collection<AttributeGroup> groups)
Add an attribute and the corresponding list of AttributeGroups.

void

addAttributeKey(java.lang.String attributeNameOrPath,
AttributeGroup group)
Add a basic attribute or nested attribute with each String representing
the key of an attribute of type Map on the path to what needs to be
included in the AttributeGroup.

void

addAttributes(java.util.Collection<java.lang.String> attrOrPaths)
Add a set of attributes to the group.

convert(java.lang.String... nameOrPath)
Convert a provided name or path which could be a single attributeName, a
single string with dot separated attribute names, or an array of
attribute names defining the path.

void

convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL:
Convert all the class-name-based settings in this Descriptor to actual class-based
settings.

getItem

Locate the AttributeGroup where the leaf attribute in the path should be
applied to.

Parameters:

create - indicates if intermediate AttributeGroup required within the
specified path should be created as needed. When checking the
state of the map callers should set this to false to avoid
changing the state unexpectedly

convertClassNamesToClasses

INTERNAL:
Convert all the class-name-based settings in this Descriptor to actual class-based
settings. This method is used when converting a project that has been built
with class names to a project with classes.