Package javax.jdo

Interface Extent<E>

  • All Superinterfaces:
    AutoCloseable, Iterable<E>

    public interface Extent<E>
    extends AutoCloseable, Iterable<E>
    Instances of the Extent class represent the entire collection of instances in the data store of the candidate class or interface possibly including its subclasses or subinterfaces.

    The Extent instance has two possible uses:

    1. to iterate all instances of a particular class or interface
    2. to execute a Query in the data store over all instances of a particular class or interface
    • Method Detail

      • iterator

        Iterator<E> iterator()
        Returns an iterator over all the instances in the Extent. The behaviour of the returned iterator might depend on the setting of the ignoreCache flag in the owning PersistenceManager.
        Specified by:
        iterator in interface Iterable<E>
        Returns:
        an iterator over all instances in the Extent
      • hasSubclasses

        boolean hasSubclasses()
        Returns whether this Extent was defined to contain subclasses.
        Returns:
        true if this Extent was defined to contain instances that are of a subclass type.
      • getCandidateClass

        Class<E> getCandidateClass()
        An Extent contains all instances of a particular class or interface in the data store; this method returns the Class of the instances represented by this Extent.
        Returns:
        the Class of instances of this Extent.
      • getPersistenceManager

        PersistenceManager getPersistenceManager()
        An Extent is managed by a PersistenceManager; this method gives access to the owning PersistenceManager.
        Returns:
        the owning PersistenceManager
      • closeAll

        void closeAll()
        Close all Iterators associated with this Extent instance. Iterators closed by this method will return false to hasNext() and will throw NoSuchElementException on next(). The Extent instance can still be used as a parameter of Query.setExtent, and to get an Iterator.
      • close

        void close​(Iterator<E> it)
        Close an Iterator associated with this Extent instance. Iterators closed by this method will return false to hasNext() and will throw NoSuchElementException on next(). The Extent instance can still be used as a parameter of Query.setExtent, and to get an Iterator.
        Parameters:
        it - an Iterator obtained by the method iterator() on this Extent instance.
      • close

        void close()
            throws Exception
        Don't use this method directly; use closeAll() instead. It is intended for use with try-with-resources.
        Specified by:
        close in interface AutoCloseable
        Throws:
        Exception - if this resource cannot be closed
      • getFetchPlan

        FetchPlan getFetchPlan()
        Get the fetch plan associated with this Extent.
        Returns:
        the fetch plan
        Since:
        2.0