EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference

org.eclipse.persistence.queries
Class AttributeGroup

java.lang.Object
  extended by org.eclipse.persistence.core.queries.CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>
      extended by org.eclipse.persistence.queries.AttributeGroup
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
CopyGroup, FetchGroup, LoadGroup

public class AttributeGroup
extends CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>
implements java.io.Serializable, java.lang.Cloneable

Purpose: An AttributeGroup represents a set of mappings and nested AttributeGroups for relationship mappings for an entity type. Responsibilities:

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.

See Also:
FetchGroup, LoadGroup, CopyGroup, Serialized Form
Author:
ailitchev
Since:
EclipseLink 2.1

Field Summary
 
Fields inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
allsubclasses, isValidated, items, name, subClasses, superClassGroup, type, typeName
 
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, 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.
 AttributeGroup clone()
           
 AttributeGroup findGroup(ClassDescriptor type)
           
 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 AttributeItemfor the provided attribute name or path.
 boolean isConcurrent()
          INTERNAL: Only LoadGroups allow concurrency.
 boolean isCopyGroup()
          INTERNAL: This method is used internally when converting to a copy group.
 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, CoreAttributeGroup 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.
protected  org.eclipse.persistence.internal.queries.AttributeItem newItem(CoreAttributeGroup group, java.lang.String attrName)
          Subclass may create different types.
 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)
           
 
Methods inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
addAttribute, addAttribute, addAttribute, addAttributeKey, addAttributes, clone, containsAttribute, containsAttributeInternal, convert, convertClassNamesToClasses, equals, getAllItems, getAttributeNames, getItem, getItems, getName, getSubClassGroups, getType, getTypeName, hasInheritance, hasItems, insertSubClass, isFetchGroup, isSupersetOf, isValidated, removeAttribute, setAllSubclasses, setAttributeNames, setName, toString, toStringAdditionalInfo, toStringItems, toStringPath
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AttributeGroup

public AttributeGroup(java.lang.String name)

AttributeGroup

public AttributeGroup(java.lang.String name,
                      java.lang.Class type,
                      boolean isValidated)
INTERNAL: This constructer is to only be used by EclipseLink internally

Parameters:
name -
type -

AttributeGroup

public AttributeGroup(java.lang.String name,
                      java.lang.String type,
                      boolean isValidated)

AttributeGroup

public AttributeGroup()
Method Detail

addAttribute

public 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.

Example: group.addAttribute("firstName", group1);
group.addAttribute("manager.address", group2);
Note that existing group corresponding to attributeNameOrPath will be overridden with the passed group.

Parameters:
attrPathOrName - A simple attribute, array or attributes forming a path
group - - an AttributeGroup to be added.

getGroup

public AttributeGroup getGroup(java.lang.String attributeNameOrPath)
Returns AttributeGroup corresponding to the passed (possibly nested) attribute.

Overrides:
getGroup in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

isSupersetOf

public boolean isSupersetOf(AttributeGroup anotherGroup)
Return true if this AttributeGroup is a super-set of the passed in AttributeGroup.


getItem

public org.eclipse.persistence.internal.queries.AttributeItem getItem(java.lang.String attributeNameOrPath)
INTERNAL: Lookup the AttributeItemfor the provided attribute name or path.

Overrides:
getItem in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>
Returns:
item or null
Throws:
java.lang.IllegalArgumentException - if name is not valid attribute name or path

newItem

protected org.eclipse.persistence.internal.queries.AttributeItem newItem(AttributeGroup group,
                                                                         java.lang.String attrName)
Subclass may create different types.


findGroup

public AttributeGroup findGroup(ClassDescriptor type)
Overrides:
findGroup in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

toFetchGroup

public FetchGroup toFetchGroup()
Convert the group to a FetchGroup for usage with queries.


toFetchGroup

public FetchGroup toFetchGroup(java.util.Map<AttributeGroup,FetchGroup> cloneMap)
INTERNAL: This method is used internally when converting to a copy group.

Parameters:
cloneMap -
Returns:

isCopyGroup

public boolean isCopyGroup()
INTERNAL: This method is used internally when converting to a copy group.

Overrides:
isCopyGroup in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>
Parameters:
cloneMap -
Returns:

toCopyGroup

public CopyGroup toCopyGroup()
Convert the group to a CopyGroup for usage with the copy() API.


toCopyGroup

public CopyGroup toCopyGroup(java.util.Map<AttributeGroup,CopyGroup> cloneMap,
                             java.util.Map copies)
INTERNAL: This method is used internally when converting to a copy group.

Parameters:
cloneMap -
Returns:

isLoadGroup

public boolean isLoadGroup()
Overrides:
isLoadGroup in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

toLoadGroup

public LoadGroup toLoadGroup()
Convert the group to a LoadGroup for usage with queries.


toLoadGroup

public LoadGroup toLoadGroup(java.util.Map<AttributeGroup,LoadGroup> cloneMap,
                             boolean loadOnly)

clone

public AttributeGroup clone()
Overrides:
clone in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

isConcurrent

public boolean isConcurrent()
INTERNAL: Only LoadGroups allow concurrency.

Overrides:
isConcurrent in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

newItem

protected org.eclipse.persistence.internal.queries.AttributeItem newItem(CoreAttributeGroup group,
                                                                         java.lang.String attrName)
Subclass may create different types.

Overrides:
newItem in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

newGroup

protected AttributeGroup newGroup(java.lang.String name,
                                  CoreAttributeGroup parent)
Subclass may create different types.

Overrides:
newGroup in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>

EclipseLink 2.5.0, build 'v20130507-3faac2b' API Reference