org.apache.openjpa.jdbc.kernel
Class SelectResultObjectProvider

java.lang.Object
  extended by org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider
All Implemented Interfaces:
ResultObjectProvider, Closeable
Direct Known Subclasses:
InstanceResultObjectProvider, PagingResultObjectProvider

public abstract class SelectResultObjectProvider
extends Object
implements ResultObjectProvider

Abstract provider implementation wrapped around a Select.

Author:
Abe White

Field Summary
protected  Result _res
           
 
Constructor Summary
SelectResultObjectProvider(SelectExecutor sel, JDBCStore store, JDBCFetchConfiguration fetch)
          Constructor.
 
Method Summary
 boolean absolute(int pos)
          Move to the given 0-based position.
 void close()
          Free the resources associated with this provider.
 JDBCFetchConfiguration getFetchConfiguration()
           
 Result getResult()
           
 SelectExecutor getSelect()
           
 JDBCStore getStore()
           
 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.
protected  void setSize(int size)
          Allow subclasses that know the size to set it; otherwise we calculate it internally.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.lib.rop.ResultObjectProvider
getResultObject
 

Field Detail

_res

protected Result _res
Constructor Detail

SelectResultObjectProvider

public SelectResultObjectProvider(SelectExecutor sel,
                                  JDBCStore store,
                                  JDBCFetchConfiguration fetch)
Constructor.

Parameters:
sel - the select to execute
store - the store to delegate loading to
fetch - the fetch configuration, or null for the default
Method Detail

getSelect

public SelectExecutor getSelect()

getStore

public JDBCStore getStore()

getFetchConfiguration

public JDBCFetchConfiguration getFetchConfiguration()

getResult

public Result getResult()

supportsRandomAccess

public boolean supportsRandomAccess()
Description copied from interface: ResultObjectProvider
Return true if this provider supports random access.

Specified by:
supportsRandomAccess in interface ResultObjectProvider

open

public void open()
          throws SQLException
Description copied from interface: ResultObjectProvider
Open the result. This will be called before ResultObjectProvider.next(), ResultObjectProvider.absolute(int), or ResultObjectProvider.size().

Specified by:
open in interface ResultObjectProvider
Throws:
SQLException

next

public boolean next()
             throws SQLException
Description copied from interface: ResultObjectProvider
Advance the input to the next position. Return true if there is more data; otherwise false.

Specified by:
next in interface ResultObjectProvider
Throws:
SQLException

absolute

public boolean absolute(int pos)
                 throws SQLException
Description copied from interface: ResultObjectProvider
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 ResultObjectProvider.next().

Specified by:
absolute in interface ResultObjectProvider
Throws:
SQLException

size

public int size()
         throws SQLException
Description copied from interface: ResultObjectProvider
Return the number of items in the input, or Integer.MAX_VALUE if the size in unknown.

Specified by:
size in interface ResultObjectProvider
Throws:
SQLException

setSize

protected void setSize(int size)
Allow subclasses that know the size to set it; otherwise we calculate it internally.


reset

public void reset()
           throws SQLException
Description copied from interface: ResultObjectProvider
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.

Specified by:
reset in interface ResultObjectProvider
Throws:
SQLException

close

public void close()
Description copied from interface: ResultObjectProvider
Free the resources associated with this provider.

Specified by:
close in interface ResultObjectProvider
Specified by:
close in interface Closeable

handleCheckedException

public void handleCheckedException(Exception e)
Description copied from interface: ResultObjectProvider
Any checked exceptions that are thrown will be passed to this method. The provider should re-throw the exception as an appropriate unchecked exception.

Specified by:
handleCheckedException in interface ResultObjectProvider


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