Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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(T)` and `setDetachmentOptions(int)`.
`static int` | `DETACH_UNLOAD_FIELDS` For use with `PersistenceManager.detachCopy(T)` 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 Set 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(T)` 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(T)` 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 Set containing the names of all active fetch groups. The Set is a copy of the currently active groups and will not change based on subsequent changes to the groups.

  Returns:
    an immutable Set containing the names of all currently 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD