Package 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
    • Method Detail

      • addGroup

        FetchPlan addGroup​(String fetchGroupName)
        Add the fetch group to the set of active fetch groups.
        Parameters:
        fetchGroupName - Name of the FetchGroup to add
        Returns:
        the FetchPlan
        Since:
        2.0
      • removeGroup

        FetchPlan removeGroup​(String fetchGroupName)
        Remove the fetch group from the set active fetch groups.
        Parameters:
        fetchGroupName - Name of the FetchGroup to remove
        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

        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​(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​(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​(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​(Collection roots)
        Set the roots for DetachAllOnCommit.
        Parameters:
        roots - Collection of the detachment roots.
        Returns:
        This FetchPlan
        Since:
        2.0
      • getDetachmentRoots

        Collection getDetachmentRoots()
        Get the roots for DetachAllOnCommit.
        Returns:
        Collection of detachment roots.
        Since:
        2.0
      • setDetachmentRootClasses

        FetchPlan setDetachmentRootClasses​(Class... rootClasses)
        Set the root classes for DetachAllOnCommit.
        Parameters:
        rootClasses - The root classes.
        Returns:
        This FetchPlan
        Since:
        2.0
      • getDetachmentRootClasses

        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
      • setDetachmentOptions

        FetchPlan setDetachmentOptions​(int options)
        Set options to be used during detachment. Options are DETACH_LOAD_FIELDS and DETACH_UNLOAD_FIELDS.
        Parameters:
        options - Options for use during detachment.
        Returns:
        This FetchPlan
      • getDetachmentOptions

        int getDetachmentOptions()
        Get options used during detachment.
        Returns:
        Options to use during detachment.