Package org.eclipse.persistence.queries
Class JPQLCall
- java.lang.Object
-
- org.eclipse.persistence.queries.JPQLCall
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Call
public class JPQLCall extends java.lang.Object implements java.io.Serializable, Call
Purpose: Used as an abstraction of a database invocation. A call is an JPQL string.Responsibilities:
- Parse the JPQL String
- Populate the contained query's selection criteria. Add attributes to ReportQuery (if required).
- See Also:
- Serialized Form
- Author:
- Jon Driscoll and Joel Lucuik
- Since:
- TopLink 4.0
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanisParsedprotected java.lang.StringjpqlStringprotected DatabaseQueryquery
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.persistence.internal.queries.DatabaseQueryMechanismbuildNewQueryMechanism(DatabaseQuery query)INTERNAL: Return the appropriate mechanism, with the call added as necessary.org.eclipse.persistence.internal.queries.DatabaseQueryMechanismbuildQueryMechanism(DatabaseQuery query, org.eclipse.persistence.internal.queries.DatabaseQueryMechanism mechanism)INTERNAL: Return the appropriate mechanism, with the call added as necessary.java.lang.Objectclone()INTERNAL: Return a clone of the call.java.lang.StringgetCallString()INTERNAL: Return the string for the calljava.lang.StringgetEjbqlString()INTERNAL: Return the EJBQL string for this calljava.lang.StringgetJPQLString()INTERNAL: Return the EJBQL string for this calljava.lang.StringgetLogString(org.eclipse.persistence.internal.databaseaccess.Accessor accessor)INTERNAL: Return the SQL string for this call.DatabaseQuerygetQuery()Back reference to query, unfortunately required for events.java.lang.StringgetSQLString()INTERNAL: Return the SQL string for this call.booleanisFinished()Return whether all the results of the call have been returned.booleanisJPQLCall()INTERNAL: Yes this is an JPQLCallbooleanisNothingReturned()The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.booleanisOneRowReturned()The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.booleanisParsed()INTERNAL Is this query ParsedvoidpopulateQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)Populate the query using the information retrieved from parsing the EJBQL.java.sql.PreparedStatementprepareStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Prepare the JDBC statement, this may be parameterize or a call statement.voidsetEjbqlString(java.lang.String jpqlString)INTERNAL: Set the EJBQL string for this callvoidsetIsParsed(boolean newIsParsed)INTERNAL Set the isParsed statevoidsetJPQLString(java.lang.String jpqlString)INTERNAL: Set the JPQL string for this callvoidsetQuery(DatabaseQuery query)INTERNAL: Back reference to query, unfortunately required for events.java.lang.StringtoString()INTERNAL: Print the JPQL string.voidtranslate(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow, org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: translate method comment.
-
-
-
Field Detail
-
query
protected transient DatabaseQuery query
-
jpqlString
protected java.lang.String jpqlString
-
isParsed
protected boolean isParsed
-
-
Method Detail
-
buildNewQueryMechanism
public org.eclipse.persistence.internal.queries.DatabaseQueryMechanism buildNewQueryMechanism(DatabaseQuery query)
INTERNAL: Return the appropriate mechanism, with the call added as necessary.- Specified by:
buildNewQueryMechanismin interfaceCall
-
buildQueryMechanism
public org.eclipse.persistence.internal.queries.DatabaseQueryMechanism buildQueryMechanism(DatabaseQuery query, org.eclipse.persistence.internal.queries.DatabaseQueryMechanism mechanism)
INTERNAL: Return the appropriate mechanism, with the call added as necessary.- Specified by:
buildQueryMechanismin interfaceCall
-
clone
public java.lang.Object clone()
Description copied from interface:CallINTERNAL: Return a clone of the call.
-
getCallString
public java.lang.String getCallString()
INTERNAL: Return the string for the call
-
getEjbqlString
public java.lang.String getEjbqlString()
INTERNAL: Return the EJBQL string for this call
-
getJPQLString
public java.lang.String getJPQLString()
INTERNAL: Return the EJBQL string for this call
-
getQuery
public DatabaseQuery getQuery()
Back reference to query, unfortunately required for events.
-
getLogString
public java.lang.String getLogString(org.eclipse.persistence.internal.databaseaccess.Accessor accessor)
INTERNAL: Return the SQL string for this call. Always return null since this is an EJBQL call- Specified by:
getLogStringin interfaceCall
-
getSQLString
public java.lang.String getSQLString()
INTERNAL: Return the SQL string for this call. Always return null since this is an EJBQL call
-
isJPQLCall
public boolean isJPQLCall()
INTERNAL: Yes this is an JPQLCall
-
isFinished
public boolean isFinished()
Return whether all the results of the call have been returned.- Specified by:
isFinishedin interfaceCall
-
isParsed
public boolean isParsed()
INTERNAL Is this query Parsed
-
populateQuery
public void populateQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
Populate the query using the information retrieved from parsing the EJBQL.
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws java.sql.SQLExceptionINTERNAL: Prepare the JDBC statement, this may be parameterize or a call statement. If caching statements this must check for the pre-prepared statement and re-bind to it.- Throws:
java.sql.SQLException
-
setEjbqlString
public void setEjbqlString(java.lang.String jpqlString)
INTERNAL: Set the EJBQL string for this call
-
setJPQLString
public void setJPQLString(java.lang.String jpqlString)
INTERNAL: Set the JPQL string for this call
-
setIsParsed
public void setIsParsed(boolean newIsParsed)
INTERNAL Set the isParsed state
-
setQuery
public void setQuery(DatabaseQuery query)
INTERNAL: Back reference to query, unfortunately required for events.
-
translate
public void translate(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, org.eclipse.persistence.internal.sessions.AbstractRecord modifyRow, org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: translate method comment.
-
isNothingReturned
public boolean isNothingReturned()
The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.- Specified by:
isNothingReturnedin interfaceCall
-
isOneRowReturned
public boolean isOneRowReturned()
The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.- Specified by:
isOneRowReturnedin interfaceCall
-
toString
public java.lang.String toString()
INTERNAL: Print the JPQL string.- Overrides:
toStringin classjava.lang.Object
-
-