AbstractCallQuery
, MultiRSCallQuery
, PostgreSQLCallQuery
, ReturnedRSCallQuery
, SQLQuery
public interface PersistenceQuery
Persistence.load(java.lang.Object, org.castor.persist.ProposedEntity, org.exolab.castor.persist.spi.Identity, org.exolab.castor.mapping.AccessMode)
for dealing with complex
queries.
The caller takes full responsibility to assure integrity of transactions and object caching and only relies on the engine to assist in assuring that through the mechanisms available to it.
A query may be created once and used multiple times by calling the
execute(Object, AccessMode, boolean)
method. Query parameters are set each time prior
to executing the query.
See Persistence
for information about locks, loading
objects, identities and stamps.
Persistence
Modifier and Type | Method | Description |
---|---|---|
boolean |
absolute(int row) |
Moves the result of the query to the absolute position in the
resultset.
|
void |
close() |
Close the query and release all resources held by the query.
|
void |
execute(java.lang.Object conn,
AccessMode accessMode,
boolean scrollable) |
Execute the query with the give connection and lock type.
|
void |
fetch(ProposedEntity proposedObject) |
Loades the object.
|
java.lang.Class<?> |
getResultType() |
Returns the type of object returned by this query.
|
Identity |
nextIdentity(Identity identity) |
Returns the identity of the next object to be returned.
|
void |
setParameter(int index,
java.lang.Object value) |
Sets the value of a paramter.
|
int |
size() |
Finds the size of the resulting resultset from the query.
|
void setParameter(int index, java.lang.Object value)
index
- The parameter indexvalue
- The parameter valuejava.lang.Class<?> getResultType()
void execute(java.lang.Object conn, AccessMode accessMode, boolean scrollable) throws PersistenceException
nextIdentity(org.exolab.castor.persist.spi.Identity)
and fetch(org.castor.persist.ProposedEntity)
. The
query parameters will be reset. A new query may be issued by
providing new query parameters and calling execute(Object, AccessMode, boolean)
.conn
- An open connectionaccessMode
- The access mode (null equals shared)scrollable
- The db cursor mode.PersistenceException
- An invalid query or an error reported
by the persistence engine.Identity nextIdentity(Identity identity) throws PersistenceException
identity
- The identity of the previous object,
null if this method is called for the first timePersistenceException
- An error reported by the
persistence enginevoid fetch(ProposedEntity proposedObject) throws PersistenceException
nextIdentity(org.exolab.castor.persist.spi.Identity)
with the same identity.
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.
This method is equivalent to Persistence.load(java.lang.Object, org.castor.persist.ProposedEntity, org.exolab.castor.persist.spi.Identity, org.exolab.castor.mapping.AccessMode)
with a
known cache engine and access mode and acts on the query
results rather than issuing a new query to load the object.
proposedObject
- The fields to load intoPersistenceException
- The object was not found in
persistent storage or any other persistence error occured.Persistence.load(java.lang.Object, org.castor.persist.ProposedEntity, org.exolab.castor.persist.spi.Identity, org.exolab.castor.mapping.AccessMode)
void close()
boolean absolute(int row) throws PersistenceException
row
- The row to move toPersistenceException
- A persistence error occuredint size() throws PersistenceException
PersistenceException
Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com