javax.jdo

## Interface Extent<E>

- All Superinterfaces:
    AutoCloseable, Iterable<E>

      public interface Extent<E>
      extends Iterable<E>, AutoCloseable

  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
  Version:
    2.1

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Don't use this method directly; use `closeAll()` instead.
    `void` | `close(Iterator<E> it)` Close an `Iterator` associated with this `Extent` instance.
    `void` | `closeAll()` Close all `Iterator`s associated with this `Extent` instance.
    `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.
    `FetchPlan` | `getFetchPlan()` Get the fetch plan associated with this Extent.
    `PersistenceManager` | `getPersistenceManager()` An `Extent` is managed by a `PersistenceManager`; this method gives access to the owning `PersistenceManager`.
    `boolean` | `hasSubclasses()` Returns whether this `Extent` was defined to contain subclasses.
    `Iterator<E>` | `iterator()` Returns an iterator over all the instances in the `Extent`.

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### iterator

          Iterator<E> iterator()

      Returns an iterator over all the instances in the `Extent`. The behavior 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 `Iterator`s associated with this `Extent` instance. `Iterator`s 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. `Iterator`s 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

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.