Package org.apache.openjpa.slice.jdbc
Class UniqueResultObjectProvider
java.lang.Object
org.apache.openjpa.slice.jdbc.UniqueResultObjectProvider
- All Implemented Interfaces:
ResultObjectProvider
,Closeable
Aggregates individual single query results from different databases.
- Author:
- Pinaki Poddar
-
Constructor Summary
ConstructorDescriptionUniqueResultObjectProvider
(ResultObjectProvider[] rops, StoreQuery q, QueryExpressions[] exps) -
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
-
UniqueResultObjectProvider
public UniqueResultObjectProvider(ResultObjectProvider[] rops, StoreQuery q, QueryExpressions[] exps)
-
-
Method Details
-
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:
Exception
-
close
Description copied from interface:ResultObjectProvider
Free the resources associated with this provider.- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceResultObjectProvider
- Throws:
Exception
-
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:
Exception
-
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
-
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:
Exception
-
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:
Exception
-
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:
Exception
-
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:
Exception
-
supportsRandomAccess
public boolean supportsRandomAccess()Description copied from interface:ResultObjectProvider
Return true if this provider supports random access.- Specified by:
supportsRandomAccess
in interfaceResultObjectProvider
-