|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.persist.QueryResults
public final class QueryResults
The result of a query in the context of a transaction. A query is executed against the cache engine in the context of a transaction. The result of a query is this object that can be used to obtain the next object in the query.
Constructor Summary | |
---|---|
QueryResults(TransactionContext tx,
LockEngine engine,
PersistenceQuery query,
AccessMode accessMode,
Database db)
|
Method Summary | |
---|---|
boolean |
absolute(int row)
|
void |
close()
Close the query and release all resources held by the query. |
java.lang.Object |
fetch()
Loads the specified object with the identity. |
PersistenceQuery |
getQuery()
Returns the associated query. |
java.lang.Class |
getResultType()
Returns the type of object returned by this query. |
TransactionContext |
getTransaction()
Returns the transaction context in which this query was opened. |
java.lang.Object |
nextIdentity()
Returns the identity of the next object to be returned. |
int |
size()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public QueryResults(TransactionContext tx, LockEngine engine, PersistenceQuery query, AccessMode accessMode, Database db)
Method Detail |
---|
public TransactionContext getTransaction()
public PersistenceQuery getQuery()
public java.lang.Class getResultType()
public java.lang.Object nextIdentity() throws TransactionNotInProgressException, PersistenceException
PersistenceException
- An error reported by the
persistence engine
TransactionNotInProgressException
- The transaction
has been closedpublic java.lang.Object fetch() throws TransactionNotInProgressException, PersistenceException, ObjectNotFoundException, LockNotGrantedException
nextIdentity()
.
If the object is locked by another transaction this method will
block until the lock is released, or a timeout occured. If a
timeout occurs or the object has been deleted by the other
transaction, this method will report an ObjectNotFoundException
. The query may proceed to the next
identity.
If the object has been deleted in this transaction, this method
will report an ObjectNotFoundException
. However, the
caller may iterate to and obtain the next object.
This method is equivalent to TransactionContext.fetch(org.exolab.castor.persist.LockEngine, org.exolab.castor.persist.ClassMolder, java.lang.Object, org.exolab.castor.mapping.AccessMode)
with a know cache engine, identity and lock and acts on the query
results rather than issuing a new query to load the object.
ObjectNotFoundException
- The object was not found in
persistent storage
LockNotGrantedException
- Could not acquire a lock on
the object
PersistenceException
- An error reported by the
persistence engine
TransactionNotInProgressException
- The transaction
has been closedpublic void close()
public boolean absolute(int row) throws PersistenceException
PersistenceException
public int size() throws PersistenceException
PersistenceException
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |