javax.jdo
Interface FetchPlan


public interface FetchPlan

Fetch groups are activated using methods on this interface. An instance of this interface can be obtained from PersistenceManager.getFetchPlan(), Extent.getFetchPlan(), and Query.getFetchPlan(). When a Query or Extent is retrieved from a PersistenceManager, its FetchPlan is initialized to the same settings as that of the PersistenceManager. Subsequent modifications of the Query or Extent's FetchPlan are not reflected in the FetchPlan of the PersistenceManager.

Since:
2.0
Version:
2.0

Field Summary
static java.lang.String ALL
          For use with addGroup(java.lang.String), removeGroup(java.lang.String), and the various setGroups(java.util.Collection) calls.
static java.lang.String DEFAULT
          For use with addGroup(java.lang.String), removeGroup(java.lang.String), and the various setGroups(java.util.Collection) calls.
static int DETACH_LOAD_FIELDS
          For use with PersistenceManager.detachCopy(java.lang.Object) and setDetachmentOptions(int).
static int DETACH_UNLOAD_FIELDS
          For use with PersistenceManager.detachCopy(java.lang.Object) and setDetachmentOptions(int).
static int FETCH_SIZE_GREEDY
          For use with setFetchSize(int).
static int FETCH_SIZE_OPTIMAL
          For use with setFetchSize(int).
 
Method Summary
 FetchPlan addGroup(java.lang.String fetchGroupName)
          Add the fetch group to the set of active fetch groups.
 FetchPlan clearGroups()
          Remove all active groups leaving no active fetch group.
 int getDetachmentOptions()
          Get options used during detachment.
 java.lang.Class[] getDetachmentRootClasses()
          Get the root classes for DetachAllOnCommit.
 java.util.Collection getDetachmentRoots()
          Get the roots for DetachAllOnCommit.
 int getFetchSize()
          Return the fetch size, or FETCH_SIZE_OPTIMAL if not set, or FETCH_SIZE_GREEDY to fetch all.
 java.util.Set getGroups()
          Return an immutable collection containing the names of all active fetch groups.
 int getMaxFetchDepth()
          Return the maximum fetch depth used when fetching instances.
 FetchPlan removeGroup(java.lang.String fetchGroupName)
          Remove the fetch group from the set active fetch groups.
 FetchPlan setDetachmentOptions(int options)
          Set options to be used during detachment.
 FetchPlan setDetachmentRootClasses(java.lang.Class[] rootClasses)
          Set the root classes for DetachAllOnCommit.
 FetchPlan setDetachmentRoots(java.util.Collection roots)
          Set the roots for DetachAllOnCommit.
 FetchPlan setFetchSize(int fetchSize)
          Set the fetch size for large result set support.
 FetchPlan setGroup(java.lang.String fetchGroupName)
          Set the active fetch groups to the single named fetch group.
 FetchPlan setGroups(java.util.Collection fetchGroupNames)
          Set a collection of groups.
 FetchPlan setGroups(java.lang.String[] fetchGroupNames)
          Set a collection of groups.
 FetchPlan setMaxFetchDepth(int fetchDepth)
          Set the maximum fetch depth when fetching.
 

Field Detail

DEFAULT

static final java.lang.String DEFAULT
For use with addGroup(java.lang.String), removeGroup(java.lang.String), and the various setGroups(java.util.Collection) calls. Value: default.

Since:
2.0
See Also:
Constant Field Values

ALL

static final java.lang.String ALL
For use with addGroup(java.lang.String), removeGroup(java.lang.String), and the various setGroups(java.util.Collection) calls. Value: all.

Since:
2.0
See Also:
Constant Field Values

DETACH_UNLOAD_FIELDS

static final int DETACH_UNLOAD_FIELDS
For use with PersistenceManager.detachCopy(java.lang.Object) and setDetachmentOptions(int). Specifies that fields that are loaded but not in the current fetch plan should be unloaded prior to detachment.

Since:
2.0
See Also:
Constant Field Values

DETACH_LOAD_FIELDS

static final int DETACH_LOAD_FIELDS
For use with PersistenceManager.detachCopy(java.lang.Object) and setDetachmentOptions(int). Specifies that fields that are not loaded but are in the current fetch plan should be loaded prior to detachment.

Since:
2.0
See Also:
Constant Field Values

FETCH_SIZE_GREEDY

static final int FETCH_SIZE_GREEDY
For use with setFetchSize(int). Value: -1.

Since:
2.0
See Also:
Constant Field Values

FETCH_SIZE_OPTIMAL

static final int FETCH_SIZE_OPTIMAL
For use with setFetchSize(int). Value: 0.

Since:
2.0
See Also:
Constant Field Values
Method Detail

addGroup

FetchPlan addGroup(java.lang.String fetchGroupName)
Add the fetch group to the set of active fetch groups.

Returns:
the FetchPlan
Since:
2.0

removeGroup

FetchPlan removeGroup(java.lang.String fetchGroupName)
Remove the fetch group from the set active fetch groups.

Returns:
the FetchPlan
Since:
2.0

clearGroups

FetchPlan clearGroups()
Remove all active groups leaving no active fetch group.

Returns:
the FetchPlan
Since:
2.0

getGroups

java.util.Set getGroups()
Return an immutable collection containing the names of all active fetch groups.

Returns:
an immutable collection containing the names of all active fetch groups
Since:
2.0

setGroups

FetchPlan setGroups(java.util.Collection fetchGroupNames)
Set a collection of groups.

Parameters:
fetchGroupNames - a collection of names of fetch groups
Returns:
the FetchPlan
Since:
2.0

setGroups

FetchPlan setGroups(java.lang.String[] fetchGroupNames)
Set a collection of groups.

Parameters:
fetchGroupNames - a String array of names of fetch groups
Returns:
the FetchPlan
Since:
2.0

setGroup

FetchPlan setGroup(java.lang.String fetchGroupName)
Set the active fetch groups to the single named fetch group.

Parameters:
fetchGroupName - the single fetch group
Returns:
the FetchPlan
Since:
2.0

setMaxFetchDepth

FetchPlan setMaxFetchDepth(int fetchDepth)
Set the maximum fetch depth when fetching. A value of 0 has no meaning and will throw a JDOUserException. A value of -1 means that no limit is placed on fetching. A positive integer will result in that number of references from the initial object to be fetched.

Parameters:
fetchDepth - the depth
Returns:
the FetchPlan
Since:
2.0

getMaxFetchDepth

int getMaxFetchDepth()
Return the maximum fetch depth used when fetching instances.

Returns:
the maximum fetch depth
Since:
2.0

setDetachmentRoots

FetchPlan setDetachmentRoots(java.util.Collection roots)
Set the roots for DetachAllOnCommit.

Parameters:
roots - Collection of the detachment roots.
Since:
2.0

getDetachmentRoots

java.util.Collection getDetachmentRoots()
Get the roots for DetachAllOnCommit.

Returns:
Collection of detachment roots.
Since:
2.0

setDetachmentRootClasses

FetchPlan setDetachmentRootClasses(java.lang.Class[] rootClasses)
Set the root classes for DetachAllOnCommit.

Parameters:
rootClasses - The root classes.
Since:
2.0

getDetachmentRootClasses

java.lang.Class[] getDetachmentRootClasses()
Get the root classes for DetachAllOnCommit.

Returns:
The detachment root classes
Since:
2.0

setFetchSize

FetchPlan setFetchSize(int fetchSize)
Set the fetch size for large result set support. Use FETCH_SIZE_OPTIMAL to unset, and FETCH_SIZE_GREEDY to force loading of everything.

Parameters:
fetchSize - the fetch size
Returns:
the FetchPlan
Since:
2.0

getFetchSize

int getFetchSize()
Return the fetch size, or FETCH_SIZE_OPTIMAL if not set, or FETCH_SIZE_GREEDY to fetch all.

Returns:
the fetch size
Since:
2.0

setDetachmentOptions

FetchPlan setDetachmentOptions(int options)
Set options to be used during detachment. Options are DETACH_LOAD_FIELDS and DETACH_UNLOAD_FIELDS.


getDetachmentOptions

int getDetachmentOptions()
Get options used during detachment.



Copyright © 2005-2006 Apache Software Foundation. All Rights Reserved.