|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.queries.AttributeGroup
public class AttributeGroup
Purpose: An AttributeGroup represents a set of mappings and nested AttributeGroups for relationship mappings for an entity type. Responsibilities:
FetchGroup
.
LoadGroup
CopyGroup
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.
FetchGroup
,
LoadGroup
,
CopyGroup
,
Serialized FormField Summary | |
---|---|
protected java.util.Map<java.lang.Object,AttributeGroup> |
allsubclasses
This attribute is used to store all of the classes in this hierarchy keyed by type. |
protected java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> |
items
Specified attributes in the group mapped to their AttributeItems |
protected java.lang.String |
name
Name of the group. |
protected java.util.Set<AttributeGroup> |
subClasses
This attribute references the immediate subclass groups for this attributeGroup. |
protected AttributeGroup |
superClassGroup
To add inheritance support the two following attrbutes are used to create a model of the inheritance tree This attribute points to the parent AttributeGroup of this attribute group. |
protected java.lang.Class |
type
The class represented by this AttrbuteGroup. |
protected java.lang.String |
typeName
The name of the class represented by this AttrbuteGroup. |
Constructor Summary | |
---|---|
AttributeGroup()
|
|
AttributeGroup(java.lang.String name)
|
|
AttributeGroup(java.lang.String name,
java.lang.Class type,
boolean isValidated)
INTERNAL: This constructer is to only be used by EclipseLink internally |
|
AttributeGroup(java.lang.String name,
java.lang.String type,
boolean isValidated)
|
Method Summary | |
---|---|
void |
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. |
AttributeGroup |
clone()
|
AttributeGroup |
clone(java.util.Map<AttributeGroup,AttributeGroup> cloneMap)
INTERNAL: This method is used internally in the clone processing. |
boolean |
containsAttribute(java.lang.String attributeNameOrPath)
Return if the attribute is defined in the group. |
boolean |
containsAttributeInternal(java.lang.String attributeName)
INTERNAL: Return if the attribute is defined in the group. |
protected java.lang.String[] |
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. |
boolean |
equals(java.lang.Object obj)
|
AttributeGroup |
findGroup(ClassDescriptor type)
|
java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> |
getAllItems()
INTERNAL: |
java.util.Set<java.lang.String> |
getAttributeNames()
|
AttributeGroup |
getGroup(java.lang.String attributeNameOrPath)
Returns AttributeGroup corresponding to the passed (possibly nested) attribute. |
org.eclipse.persistence.internal.queries.AttributeItem |
getItem(java.lang.String attributeNameOrPath)
INTERNAL: Lookup the AttributeItem for the provided attribute name or path. |
protected org.eclipse.persistence.internal.queries.AttributeItem |
getItem(java.lang.String[] attributePath,
boolean create)
Locate the AttributeGroup where the leaf attribute in the path should be applied to. |
java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> |
getItems()
INTERNAL: |
java.lang.String |
getName()
|
java.util.Map<java.lang.Object,AttributeGroup> |
getSubClassGroups()
INTERNAL: |
java.lang.Class |
getType()
|
java.lang.String |
getTypeName()
INTERNAL: Returns the name of the type this group represents |
boolean |
hasInheritance()
Indicates whether this group is part of an inheritance hierarchy |
boolean |
hasItems()
Indicates whether the group has at least one attribute. |
void |
insertSubClass(AttributeGroup group)
INTERNAL: This method will insert the group into the entity hierarchy just below this AttributeGroup. |
boolean |
isConcurrent()
INTERNAL: Only LoadGroups allow concurrency. |
boolean |
isCopyGroup()
INTERNAL: This method is used internally when converting to a copy group. |
boolean |
isFetchGroup()
|
boolean |
isLoadGroup()
|
boolean |
isSupersetOf(AttributeGroup anotherGroup)
Return true if this AttributeGroup is a super-set of the passed in AttributeGroup. |
protected AttributeGroup |
newGroup(java.lang.String name,
AttributeGroup parent)
Subclass may create different types. |
protected org.eclipse.persistence.internal.queries.AttributeItem |
newItem(AttributeGroup group,
java.lang.String attrName)
Subclass may create different types. |
void |
removeAttribute(java.lang.String attributeNameOrPath)
Remove an attribute from the group. |
void |
setAllSubclasses(java.util.Map<java.lang.Object,AttributeGroup> subclasses)
INTERNAL: |
void |
setAttributeNames(java.util.Set attributeNames)
|
void |
setName(java.lang.String name)
|
CopyGroup |
toCopyGroup()
Convert the group to a CopyGroup for usage with the copy() API. |
CopyGroup |
toCopyGroup(java.util.Map<AttributeGroup,CopyGroup> cloneMap,
java.util.Map copies)
INTERNAL: This method is used internally when converting to a copy group. |
FetchGroup |
toFetchGroup()
Convert the group to a FetchGroup for usage with queries. |
FetchGroup |
toFetchGroup(java.util.Map<AttributeGroup,FetchGroup> cloneMap)
INTERNAL: This method is used internally when converting to a copy group. |
LoadGroup |
toLoadGroup()
Convert the group to a LoadGroup for usage with queries. |
LoadGroup |
toLoadGroup(java.util.Map<AttributeGroup,LoadGroup> cloneMap,
boolean loadOnly)
|
java.lang.String |
toString()
|
protected java.lang.String |
toStringAdditionalInfo()
Used by toString to print additional info for derived classes. |
protected java.lang.String |
toStringItems()
Used by toString to print attribute items. |
protected static java.lang.String |
toStringPath(java.lang.String[] attributePath,
int position)
|
Methods inherited from class java.lang.Object |
---|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.lang.String name
protected java.lang.String typeName
protected java.lang.Class type
protected AttributeGroup superClassGroup
protected transient java.util.Set<AttributeGroup> subClasses
protected java.util.Map<java.lang.Object,AttributeGroup> allsubclasses
protected java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> items
Constructor Detail |
---|
public AttributeGroup(java.lang.String name)
public AttributeGroup(java.lang.String name, java.lang.Class type, boolean isValidated)
name
- type
- public AttributeGroup(java.lang.String name, java.lang.String type, boolean isValidated)
public AttributeGroup()
Method Detail |
---|
protected org.eclipse.persistence.internal.queries.AttributeItem newItem(AttributeGroup group, java.lang.String attrName)
protected AttributeGroup newGroup(java.lang.String name, AttributeGroup parent)
public java.lang.String getName()
public void setName(java.lang.String name)
public AttributeGroup findGroup(ClassDescriptor type)
public java.util.Set<java.lang.String> getAttributeNames()
public java.lang.Class getType()
public java.lang.String getTypeName()
public void setAttributeNames(java.util.Set attributeNames)
public void setAllSubclasses(java.util.Map<java.lang.Object,AttributeGroup> subclasses)
public boolean hasItems()
public boolean hasInheritance()
public java.util.Map<java.lang.Object,AttributeGroup> getSubClassGroups()
public java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> getItems()
public java.util.Map<java.lang.String,org.eclipse.persistence.internal.queries.AttributeItem> getAllItems()
public boolean containsAttributeInternal(java.lang.String attributeName)
public boolean containsAttribute(java.lang.String attributeNameOrPath)
public void addAttribute(java.lang.String attributeNameOrPath)
Example:
group.addAttribute("firstName");
group.addAttribute("manager.address");
attrPathOrName
- A simple attribute, array or attributes forming a pathpublic void addAttribute(java.lang.String attributeNameOrPath, AttributeGroup group)
Example:
group.addAttribute("firstName", group1);
Note that existing group corresponding to attributeNameOrPath
will be overridden with the passed group.
group.addAttribute("manager.address", group2);
attrPathOrName
- A simple attribute, array or attributes forming a pathgroup
- - an AttributeGroup to be added.public void addAttribute(java.lang.String attributeNameOrPath, java.util.Collection<AttributeGroup> groups)
attrPathOrName
- A simple attribute, array or attributes forming a pathgroup
- - a collection of AttributeGroups to be added.public void addAttributeKey(java.lang.String attributeNameOrPath, AttributeGroup group)
Example:
group.addAttribute("firstName", group1);
Note that existing group corresponding to attributeNameOrPath will be
overridden with the passed group.
group.addAttribute("manager.address", group2);
attrPathOrName
- A simple attribute, array or attributes forming a path to a
Map keygroup
- - an AttributeGroup to be added.public void addAttributes(java.util.Collection<java.lang.String> attrOrPaths)
public AttributeGroup getGroup(java.lang.String attributeNameOrPath)
public org.eclipse.persistence.internal.queries.AttributeItem getItem(java.lang.String attributeNameOrPath)
AttributeItem
for the provided attribute name or path.
java.lang.IllegalArgumentException
- if name is not valid attribute name or pathprotected org.eclipse.persistence.internal.queries.AttributeItem getItem(java.lang.String[] attributePath, boolean create)
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 unexpectedlypublic void removeAttribute(java.lang.String attributeNameOrPath)
public boolean isSupersetOf(AttributeGroup anotherGroup)
protected java.lang.String[] convert(java.lang.String... nameOrPath)
java.lang.IllegalArgumentException
- if name is not valid attribute name or pathpublic void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
classLoader
- public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
protected java.lang.String toStringAdditionalInfo()
protected java.lang.String toStringItems()
protected static java.lang.String toStringPath(java.lang.String[] attributePath, int position)
public boolean isFetchGroup()
public FetchGroup toFetchGroup()
public FetchGroup toFetchGroup(java.util.Map<AttributeGroup,FetchGroup> cloneMap)
cloneMap
-
public boolean isCopyGroup()
cloneMap
-
public CopyGroup toCopyGroup()
public CopyGroup toCopyGroup(java.util.Map<AttributeGroup,CopyGroup> cloneMap, java.util.Map copies)
cloneMap
-
public boolean isLoadGroup()
public LoadGroup toLoadGroup()
public LoadGroup toLoadGroup(java.util.Map<AttributeGroup,LoadGroup> cloneMap, boolean loadOnly)
public AttributeGroup clone()
clone
in class java.lang.Object
public AttributeGroup clone(java.util.Map<AttributeGroup,AttributeGroup> cloneMap)
cloneMap
-
public boolean isConcurrent()
public void insertSubClass(AttributeGroup group)
group
-
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |