Package org.apache.openjpa.jdbc.kernel
Class GenericResultObjectProvider
java.lang.Object
org.apache.openjpa.jdbc.kernel.GenericResultObjectProvider
- All Implemented Interfaces:
ResultObjectProvider
,Closeable
Object provider implementation wrapped around a generic
Result
.- Author:
- Abe White
-
Constructor Summary
ConstructorDescriptionGenericResultObjectProvider
(Class<?> pcClass, JDBCStore store, JDBCFetchConfiguration fetch, Result res) Constructor.GenericResultObjectProvider
(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Result res) 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.Instantiate the current result object.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.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.
-
Constructor Details
-
GenericResultObjectProvider
public GenericResultObjectProvider(Class<?> pcClass, JDBCStore store, JDBCFetchConfiguration fetch, Result res) Constructor.- Parameters:
pcClass
- the base class of the result objectsstore
- the store manager to delegate loading tofetch
- the fetch configuration, or null for defaultres
- the result containing the data
-
GenericResultObjectProvider
public GenericResultObjectProvider(ClassMapping mapping, JDBCStore store, JDBCFetchConfiguration fetch, Result res) Constructor.- Parameters:
mapping
- the mapping for the base class of the result objectsstore
- the store manager to delegate loading tofetch
- the fetch configuration, or null for defaultres
- the result containing the data
-
-
Method Details
-
supportsRandomAccess
public boolean supportsRandomAccess()Description copied from interface:ResultObjectProvider
Return true if this provider supports random access.- Specified by:
supportsRandomAccess
in interfaceResultObjectProvider
-
open
public void 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
-
getResultObject
Description copied from interface:ResultObjectProvider
Instantiate the current result object. This method will only be called afterResultObjectProvider.next()
orResultObjectProvider.absolute(int)
.- Specified by:
getResultObject
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
-
reset
public void 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
-
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
-