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

org.eclipse.persistence.queries
Class LoadGroup

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

public class LoadGroup
extends AttributeGroup

Purpose: Used to load specified relationship attributes and nested relationship attributes.

A LoadGroup can be configured for use on a query using ObjectLevelReadQuery.setLoadGroup(LoadGroup) or in the case of JPA users with LOAD_GROUP query hint. Alternatively a FetchGroup could be used with FetchGroup.shouldLoad() set to true and the FetchGroup configured on a query be executed.

See Also:
FetchGroup, Serialized Form
Author:
ailitchev
Since:
Eclipselink 2.1

Field Summary
protected  java.lang.Boolean isConcurrent
           
 
Fields inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
allsubclasses, isValidated, items, name, subClasses, superClassGroup, type, typeName
 
Constructor Summary
LoadGroup()
           
LoadGroup(java.lang.String name)
           
 
Method Summary
 void addAttribute(java.lang.String attributeNameOrPath, CoreAttributeGroup 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, LoadGroup group)
           
 LoadGroup clone()
           
 LoadGroup getGroup(java.lang.String attributeNameOrPath)
          Returns LoadGroup corresponding to the passed (possibly nested) attribute.
 java.lang.Boolean getIsConcurrent()
          INTERNAL: Return if the load group should load its relationships concurrently.
 boolean isConcurrent()
          ADVANCED: Return if the load group should load its relationships concurrently.
 boolean isLoadGroup()
           
protected  LoadGroup newGroup(java.lang.String name, CoreAttributeGroup parent)
          Subclass may create different types.
 void setIsConcurrent(java.lang.Boolean isConcurrent)
          ADVANCED: Set if the load group should load its relationships concurrently.
 
Methods inherited from class org.eclipse.persistence.queries.AttributeGroup
addAttribute, findGroup, getItem, isCopyGroup, isSupersetOf, newItem, newItem, toCopyGroup, toCopyGroup, toFetchGroup, toFetchGroup, toLoadGroup, toLoadGroup
 
Methods inherited from class org.eclipse.persistence.core.queries.CoreAttributeGroup
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
 

Field Detail

isConcurrent

protected java.lang.Boolean isConcurrent
Constructor Detail

LoadGroup

public LoadGroup()

LoadGroup

public LoadGroup(java.lang.String name)
Method Detail

newGroup

protected LoadGroup newGroup(java.lang.String name,
                             CoreAttributeGroup parent)
Description copied from class: AttributeGroup
Subclass may create different types.

Overrides:
newGroup in class AttributeGroup

isLoadGroup

public boolean isLoadGroup()
Overrides:
isLoadGroup in class AttributeGroup

clone

public LoadGroup clone()
Overrides:
clone in class AttributeGroup

getGroup

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

Overrides:
getGroup in class AttributeGroup

addAttribute

public void addAttribute(java.lang.String attributeNameOrPath,
                         CoreAttributeGroup group)
Description copied from class: CoreAttributeGroup
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.

Overrides:
addAttribute in class CoreAttributeGroup<org.eclipse.persistence.internal.queries.AttributeItem>
group - - an AttributeGroup to be added.

addAttribute

public void addAttribute(java.lang.String attributeNameOrPath,
                         LoadGroup group)

getIsConcurrent

public java.lang.Boolean getIsConcurrent()
INTERNAL: Return if the load group should load its relationships concurrently.


isConcurrent

public boolean isConcurrent()
ADVANCED: Return if the load group should load its relationships concurrently. This will use the session's server platform's thread pool. Each of the query results objects relationships will be loaded on a different thread. This can improve performance by processing many queries at once. Concurrent load is only supported when a shared cache is used.

Overrides:
isConcurrent in class AttributeGroup

setIsConcurrent

public void setIsConcurrent(java.lang.Boolean isConcurrent)
ADVANCED: Set if the load group should load its relationships concurrently. This will use the session's server platform's thread pool. Each of the query results objects relationships will be loaded on a different thread. This can improve performance by processing many queries at once. Concurrent load is only supported when a shared cache is used.


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