Class XQueryInteraction

java.lang.Object
org.eclipse.persistence.internal.databaseaccess.DatasourceCall
All Implemented Interfaces:
Serializable, Cloneable, org.eclipse.persistence.internal.databaseaccess.QueryStringCall, Call

public class XQueryInteraction extends XMLInteraction implements org.eclipse.persistence.internal.databaseaccess.QueryStringCall
Defines the specification for a call to a JCA interaction that uses XQuery. Translates the XQuery from the query arguments. Builds the input and output XML records.
See Also:
Author:
James
  • Field Details

    • xQueryString

      protected String xQueryString
  • Constructor Details

    • XQueryInteraction

      public XQueryInteraction()
      Default constructor.
    • XQueryInteraction

      public XQueryInteraction(String xQueryString)
      Construct the interaction with the XQuery string.
  • Method Details

    • getXQueryString

      public String getXQueryString()
      PUBLIC: Return the XQuery string.
    • setXQueryString

      public void setXQueryString(String xQueryString)
      PUBLIC: Set the XQuery string.
    • getQueryString

      public String getQueryString()
      INTERNAL: Return the query string.
      Specified by:
      getQueryString in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Overrides:
      getQueryString in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
    • setQueryString

      public void setQueryString(String queryString)
      INTERNAL: Set the query string.
      Specified by:
      setQueryString in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Overrides:
      setQueryString in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
    • 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: Allow the call to translate the XQuery arguments.
      Specified by:
      translate in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Overrides:
      translate in class EISInteraction
    • createInputDOM

      public Element createInputDOM(EISAccessor accessor)
      Create a DOM for this interaction. Convert the database row or arguments into an XML DOM tree. Handles arguments different as the XQuery and input can both have parameters.
      Overrides:
      createInputDOM in class XMLInteraction
    • prepare

      public void prepare(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Translate the custom query markers.
      Specified by:
      prepare in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Overrides:
      prepare in class XMLInteraction
    • getLogString

      public String getLogString(org.eclipse.persistence.internal.databaseaccess.Accessor accessor)
      Return the string for logging purposes.
      Specified by:
      getLogString in interface Call
      Overrides:
      getLogString in class XMLInteraction
    • argumentMarker

      protected char argumentMarker()
      INTERNAL: Return the character to use for the argument marker. ? is used in SQL, however other query languages such as XQuery need to use other markers.
      Overrides:
      argumentMarker in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
    • whitespace

      protected String whitespace()
      INTERNAL: Return the characters that represent non-arguments names.
      Overrides:
      whitespace in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
    • isQueryStringCall

      public boolean isQueryStringCall()
      Description copied from interface: org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Should return true.
      Specified by:
      isQueryStringCall in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
      Overrides:
      isQueryStringCall in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall