|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.castor.jdo.engine.SQLEngine.SQLQuery
static final class SQLEngine.SQLQuery
Constructor Summary | |
---|---|
SQLEngine.SQLQuery(SQLEngine engine,
java.lang.String sql,
java.lang.Class[] types)
|
Method Summary | |
---|---|
boolean |
absolute(int row)
Move to an absolute position within a ResultSet. |
void |
close()
Close the query and release all resources held by the query. |
void |
execute(java.lang.Object conn,
AccessMode accessMode)
Execute the query with the give connection and lock type. |
void |
execute(java.lang.Object conn,
AccessMode accessMode,
boolean scrollable)
same as above, but parameterized for scrollable resultsets. |
java.lang.Object |
fetch(ProposedObject proposedObject,
java.lang.Object identity)
Loades the object. |
int |
getParameterCount()
Returns the number of parameters required for this query. |
java.lang.Class |
getParameterType(int index)
Returns the type of a parameter required by this query. |
java.lang.Class |
getResultType()
Returns the type of object returned by this query. |
java.lang.Object |
nextIdentity(java.lang.Object 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()
Uses the underlying db's cursors to move to the last row in the result set, get the row number via getRow(), then move back to where ever the user was positioned in the resultset. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
SQLEngine.SQLQuery(SQLEngine engine, java.lang.String sql, java.lang.Class[] types)
Method Detail |
---|
public int getParameterCount()
PersistenceQuery
getParameterCount
in interface PersistenceQuery
public java.lang.Class getParameterType(int index) throws java.lang.ArrayIndexOutOfBoundsException
PersistenceQuery
getParameterType
in interface PersistenceQuery
index
- The parameter index
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 value
java.lang.ArrayIndexOutOfBoundsException
java.lang.IllegalArgumentException
public java.lang.Class getResultType()
PersistenceQuery
getResultType
in interface PersistenceQuery
public boolean absolute(int row) throws PersistenceException
absolute
in interface PersistenceQuery
row
- The row to move to
PersistenceException
- Indicates a problem in moving to an absolute position.public int size() throws PersistenceException
size
in interface PersistenceQuery
PersistenceException
- If the excution of this method failed.public void execute(java.lang.Object conn, AccessMode accessMode) throws QueryException, PersistenceException
PersistenceQuery
PersistenceQuery.nextIdentity(java.lang.Object)
and PersistenceQuery.fetch(org.castor.persist.ProposedObject, java.lang.Object)
. The
query parameters will be reset. A new query may be issued by
providing new query parameters and calling PersistenceQuery.execute(Object, AccessMode)
.
execute
in interface PersistenceQuery
conn
- An open connectionaccessMode
- The access mode (null equals shared)
QueryException
- An invalid query
PersistenceException
- An error reported by the
persistence enginepublic void execute(java.lang.Object conn, AccessMode accessMode, boolean scrollable) throws QueryException, PersistenceException
PersistenceQuery
execute
in interface PersistenceQuery
conn
- An open connectionaccessMode
- The access mode (null equals shared)scrollable
- The db cursor mode.
QueryException
- An invalid query
PersistenceException
- An error reported by the
persistence enginepublic java.lang.Object nextIdentity(java.lang.Object identity) throws PersistenceException
PersistenceQuery
nextIdentity
in interface PersistenceQuery
identity
- The identity of the previous object,
null if this method is called for the first time
PersistenceException
- An error reported by the
persistence enginepublic void close()
PersistenceQuery
close
in interface PersistenceQuery
public java.lang.Object fetch(ProposedObject proposedObject, java.lang.Object identity) throws ObjectNotFoundException, PersistenceException
PersistenceQuery
PersistenceQuery.nextIdentity(java.lang.Object)
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.ProposedObject, java.lang.Object, 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
identity
- The object's identity
ObjectNotFoundException
- The object was not found in
persistent storage
PersistenceException
- A persistence error occuredorg.exolab.castor.persist.spi.PersistenceQuery#fetch(org.exolab.castor.persist.ProposedObject, java.lang.Object)
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |