java.lang.Object
org.eclipse.persistence.queries.JPQLCall
All Implemented Interfaces:
Serializable, Cloneable, Call

public class JPQLCall extends Object implements 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).
Since:
TopLink 4.0
See Also:
  • Field Details

    • query

      protected transient DatabaseQuery query
    • jpqlString

      protected String jpqlString
    • isParsed

      protected boolean isParsed
  • Constructor Details

    • JPQLCall

      public JPQLCall()
      PUBLIC: Create a new JPQLCall.
    • JPQLCall

      public JPQLCall(String jpqlString)
      PUBLIC: Create a new JPQLCall with an jpqlString.
  • Method Details

    • buildNewQueryMechanism

      public DatabaseQueryMechanism buildNewQueryMechanism(DatabaseQuery query)
      INTERNAL: Return the appropriate mechanism, with the call added as necessary.
      Specified by:
      buildNewQueryMechanism in interface Call
    • buildQueryMechanism

      public DatabaseQueryMechanism buildQueryMechanism(DatabaseQuery query, DatabaseQueryMechanism mechanism)
      INTERNAL: Return the appropriate mechanism, with the call added as necessary.
      Specified by:
      buildQueryMechanism in interface Call
    • clone

      public Object clone()
      Description copied from interface: Call
      INTERNAL: Return a clone of the call.
      Specified by:
      clone in interface Call
      Overrides:
      clone in class Object
    • getCallString

      public String getCallString()
      INTERNAL: Return the string for the call
    • getEjbqlString

      public String getEjbqlString()
      INTERNAL: Return the EJBQL string for this call
    • getJPQLString

      public String getJPQLString()
      INTERNAL: Return the EJBQL string for this call
    • getQuery

      public DatabaseQuery getQuery()
      Back reference to query, unfortunately required for events.
    • getLogString

      public String getLogString(Accessor accessor)
      INTERNAL: Return the SQL string for this call. Always return null since this is an EJBQL call
      Specified by:
      getLogString in interface Call
    • getSQLString

      public 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:
      isFinished in interface Call
    • isParsed

      public boolean isParsed()
      INTERNAL Is this query Parsed
    • populateQuery

      public void populateQuery(AbstractSession session)
      Populate the query using the information retrieved from parsing the EJBQL.
    • prepareStatement

      public PreparedStatement prepareStatement(DatabaseAccessor accessor, AbstractRecord translationRow, AbstractSession session) throws SQLException
      INTERNAL: 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:
      SQLException
    • setEjbqlString

      public void setEjbqlString(String jpqlString)
      INTERNAL: Set the EJBQL string for this call
    • setJPQLString

      public void setJPQLString(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(AbstractRecord translationRow, AbstractRecord modifyRow, AbstractSession session)
      INTERNAL: translate method comment.
    • isNothingReturned

      public boolean isNothingReturned()
      The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.
      Specified by:
      isNothingReturned in interface Call
    • isOneRowReturned

      public boolean isOneRowReturned()
      The return type is one of, NoReturn, ReturnOneRow or ReturnManyRows.
      Specified by:
      isOneRowReturned in interface Call
    • toString

      public String toString()
      INTERNAL: Print the JPQL string.
      Overrides:
      toString in class Object