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

## org.apache.openjpa.lib.rop
Interface ResultObjectProvider

All Superinterfaces:
  Closeable

All Known Subinterfaces:
  PCResultObjectProvider

All Known Implementing Classes:
  AbstractPCResultObjectProvider, GenericResultObjectProvider, InstanceResultObjectProvider, ListResultObjectProvider, MappedQueryResultObjectProvider, MergedResultObjectProvider, OrderingMergedResultObjectProvider, PagingResultObjectProvider, PreparedProjectionResultObjectProvider, PreparedResultObjectProvider, ProjectionResultObjectProvider, QueryImpl.PackingResultObjectProvider, RangeResultObjectProvider, SelectResultObjectProvider, SQLProjectionResultObjectProvider, UniqueResultObjectProvider

    public interface ResultObjectProvider

extends Closeable

Interface that allows lazy/custom instantiation of input objects. `ResultList` objects do not necessarily load in data all at once. Instead, they may lazily load objects as necessary. So, the lifespan of a `ResultObjectProvider` instance is related to how the application deals with processing the `ResultList` created with a given `ResultObjectProvider` instance.

Author:
  Marc Prud'hommeaux, Patrick Linskey, Abe White

Method Summary
`boolean` | `absolute(int pos)` Move to the given 0-based position.
`void` | `close()` Free the resources associated with this provider.
`Object` | `getResultObject()` Instantiate the current result object.
`void` | `handleCheckedException(Exception e)` Any checked exceptions that are thrown will be passed to this method.
`boolean` | `next()` Advance the input to the next position.
`void` | `open()` Open the result.
`void` | `reset()` Reset this provider.
`int` | `size()` Return the number of items in the input, or `Integer.MAX_VALUE` if the size in unknown.
`boolean` | `supportsRandomAccess()` Return true if this provider supports random access.

Method Detail

### supportsRandomAccess

    boolean supportsRandomAccess()

  Return true if this provider supports random access.

### open

    void open()
              throws Exception

  Open the result. This will be called before `next()`, `absolute(int)`, or `size()`.

  Throws:
    `Exception`

### getResultObject

    Object getResultObject()
                           throws Exception

  Instantiate the current result object. This method will only be called after `next()` or `absolute(int)`.

  Throws:
    `Exception`

### next

    boolean next()
                 throws Exception

  Advance the input to the next position. Return `true` if there is more data; otherwise `false`.

  Throws:
    `Exception`

### absolute

    boolean absolute(int pos)
                     throws Exception

  Move to the given 0-based position. This method is only called for providers that support random access. Return `true` if there is data at this position; otherwise `false`. This may be invoked in place of `next()`.

  Throws:
    `Exception`

### size

    int size()
             throws Exception

  Return the number of items in the input, or `Integer.MAX_VALUE` if the size in unknown.

  Throws:
    `Exception`

### reset

    void reset()
               throws Exception

  Reset this provider. This is an optional operation. If supported, it should move the position of the provider to before the first element. Non-random-access providers may be able to support this method by re-acquiring all resources as if the result were just opened.

  Throws:
    `Exception`

### close

    void close()
               throws Exception

  Free the resources associated with this provider.

  Specified by:
    `close` in interface `Closeable`
  Throws:
    `Exception`

### handleCheckedException

    void handleCheckedException(Exception e)

  Any checked exceptions that are thrown will be passed to this method. The provider should re-throw the exception as an appropriate unchecked exception.

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

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