Package org.apache.openjpa.jdbc.kernel
Class SelectResultObjectProvider
java.lang.Object
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider
- All Implemented Interfaces:
ResultObjectProvider
,Closeable
- Direct Known Subclasses:
InstanceResultObjectProvider
,PagingResultObjectProvider
Abstract provider implementation wrapped around a
Select
.- Author:
- Abe White
-
Field Summary
-
Constructor Summary
ConstructorDescriptionSelectResultObjectProvider
(SelectExecutor sel, JDBCStore store, JDBCFetchConfiguration fetch) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionboolean
absolute
(int pos) Move to the given 0-based position.void
close()
Free the resources associated with this provider.getStore()
void
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, orInteger.MAX_VALUE
if the size in unknown.boolean
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 Details
-
_res
-
-
Constructor Details
-
SelectResultObjectProvider
public SelectResultObjectProvider(SelectExecutor sel, JDBCStore store, JDBCFetchConfiguration fetch) Constructor.- Parameters:
sel
- the select to executestore
- the store to delegate loading tofetch
- the fetch configuration, or null for the default
-
-
Method Details
-
getSelect
-
getStore
-
getFetchConfiguration
-
getResult
-
supportsRandomAccess
public boolean supportsRandomAccess()Description copied from interface:ResultObjectProvider
Return true if this provider supports random access.- Specified by:
supportsRandomAccess
in interfaceResultObjectProvider
-
open
Description copied from interface:ResultObjectProvider
Open the result. This will be called beforeResultObjectProvider.next()
,ResultObjectProvider.absolute(int)
, orResultObjectProvider.size()
.- Specified by:
open
in interfaceResultObjectProvider
- Throws:
SQLException
-
next
Description copied from interface:ResultObjectProvider
Advance the input to the next position. Returntrue
if there is more data; otherwisefalse
.- Specified by:
next
in interfaceResultObjectProvider
- Throws:
SQLException
-
absolute
Description copied from interface:ResultObjectProvider
Move to the given 0-based position. This method is only called for providers that support random access. Returntrue
if there is data at this position; otherwisefalse
. This may be invoked in place ofResultObjectProvider.next()
.- Specified by:
absolute
in interfaceResultObjectProvider
- Throws:
SQLException
-
size
Description copied from interface:ResultObjectProvider
Return the number of items in the input, orInteger.MAX_VALUE
if the size in unknown.- Specified by:
size
in interfaceResultObjectProvider
- Throws:
SQLException
-
setSize
protected void setSize(int size) Allow subclasses that know the size to set it; otherwise we calculate it internally. -
reset
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 interfaceResultObjectProvider
- Throws:
SQLException
-
close
public void close()Description copied from interface:ResultObjectProvider
Free the resources associated with this provider.- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceResultObjectProvider
-
handleCheckedException
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 interfaceResultObjectProvider
-