PersistenceQuery
MultiRSCallQuery
, ReturnedRSCallQuery
public abstract class AbstractCallQuery extends java.lang.Object implements PersistenceQuery
Modifier and Type | Field | Description |
---|---|---|
protected java.lang.String |
_call |
|
protected Identity |
_lastIdentity |
|
protected java.sql.ResultSet |
_rs |
|
protected java.sql.PreparedStatement |
_stmt |
|
protected java.lang.Object[] |
_values |
Modifier | Constructor | Description |
---|---|---|
protected |
AbstractCallQuery(java.lang.String call,
java.lang.Class<?>[] types,
java.lang.Class<?> javaClass,
int[] sqlTypes) |
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.
|
protected abstract void |
execute(java.lang.Object conn,
AccessMode accessMode) |
|
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.
|
int |
getParameterCount() |
|
java.lang.Class<?> |
getParameterType(int index) |
|
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.
|
protected abstract boolean |
nextRow() |
|
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.
|
protected java.sql.PreparedStatement _stmt
protected java.sql.ResultSet _rs
protected Identity _lastIdentity
protected final java.lang.Object[] _values
protected final java.lang.String _call
protected AbstractCallQuery(java.lang.String call, java.lang.Class<?>[] types, java.lang.Class<?> javaClass, int[] sqlTypes)
protected abstract boolean nextRow() throws java.sql.SQLException
java.sql.SQLException
public void fetch(ProposedEntity proposedObject) throws PersistenceException
PersistenceQuery
PersistenceQuery.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.
fetch
in interface PersistenceQuery
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)
public void close()
PersistenceQuery
close
in interface PersistenceQuery
public int getParameterCount()
public java.lang.Class<?> getParameterType(int index) throws java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
public void setParameter(int index, java.lang.Object value) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException
PersistenceQuery
setParameter
in interface PersistenceQuery
index
- The parameter indexvalue
- The parameter valuejava.lang.ArrayIndexOutOfBoundsException
java.lang.IllegalArgumentException
public boolean absolute(int row) throws PersistenceException
PersistenceQuery
absolute
in interface PersistenceQuery
row
- The row to move toPersistenceException
- A persistence error occuredpublic int size() throws PersistenceException
PersistenceQuery
size
in interface PersistenceQuery
PersistenceException
public java.lang.Class<?> getResultType()
PersistenceQuery
getResultType
in interface PersistenceQuery
public void execute(java.lang.Object conn, AccessMode accessMode, boolean scrollable) throws PersistenceException
PersistenceQuery
PersistenceQuery.nextIdentity(org.exolab.castor.persist.spi.Identity)
and PersistenceQuery.fetch(org.castor.persist.ProposedEntity)
. The
query parameters will be reset. A new query may be issued by
providing new query parameters and calling PersistenceQuery.execute(Object, AccessMode, boolean)
.execute
in interface PersistenceQuery
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.protected abstract void execute(java.lang.Object conn, AccessMode accessMode) throws PersistenceException
PersistenceException
public Identity nextIdentity(Identity identity) throws PersistenceException
PersistenceQuery
nextIdentity
in interface PersistenceQuery
identity
- The identity of the previous object,
null if this method is called for the first timePersistenceException
- An error reported by the
persistence engineIntalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com