Class XQueryInteraction

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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:
    Serialized Form
    Author:
    James
    Since:
    OracleAS TopLink 10g (10.0.3)
    • Field Detail

      • xQueryString

        protected java.lang.String xQueryString
    • Constructor Detail

      • XQueryInteraction

        public XQueryInteraction()
        Default constructor.
      • XQueryInteraction

        public XQueryInteraction​(java.lang.String xQueryString)
        Construct the interaction with the XQuery string.
    • Method Detail

      • getXQueryString

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

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

        public java.lang.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​(java.lang.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 org.w3c.dom.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 java.lang.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 java.lang.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()
        Specified by:
        isQueryStringCall in interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
        Overrides:
        isQueryStringCall in class org.eclipse.persistence.internal.databaseaccess.DatasourceCall