org.eclipse.persistence.eis.interactions
Class XQueryInteraction

java.lang.Object
  extended by org.eclipse.persistence.internal.databaseaccess.DatasourceCall
      extended by org.eclipse.persistence.eis.interactions.EISInteraction
          extended by org.eclipse.persistence.eis.interactions.MappedInteraction
              extended by org.eclipse.persistence.eis.interactions.XMLInteraction
                  extended by org.eclipse.persistence.eis.interactions.XQueryInteraction
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.

Since:
OracleAS TopLink 10g (10.0.3)
Author:
James
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
CUSTOM_MODIFY, IN, INOUT, LITERAL, MODIFY, OUT, OUT_CURSOR, TRANSLATION
 
Constructor Summary
XQueryInteraction()
          Default constructor.
XQueryInteraction(String xQueryString)
          Construct the interaction with the XQuery string.
 
Method Summary
 Element createInputDOM(EISAccessor accessor)
          Create a DOM for this interaction.
 String getLogString(org.eclipse.persistence.internal.databaseaccess.Accessor accessor)
          Return the string for logging purposes.
 String getQueryString()
          INTERNAL: Return the query string.
 String getXQueryString()
          PUBLIC: Return the XQuery string.
 boolean isQueryStringCall()
          Should return true.
 void prepare(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Translate the custom query markers.
 void setQueryString(String queryString)
          INTERNAL: Set the query string.
 void setXQueryString(String xQueryString)
          PUBLIC: Set the XQuery string.
 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.
 
Methods inherited from class org.eclipse.persistence.eis.interactions.XMLInteraction
buildRow, buildRows, createInputRecord, getInputRootElementName, getOutputRootElementName, setInputRootElementName, setOutputRootElementName
 
Methods inherited from class org.eclipse.persistence.eis.interactions.MappedInteraction
addArgument, addArgument, addArgumentValue, getArgumentNames, getInputResultPath, setArgumentNames, setInputResultPath
 
Methods inherited from class org.eclipse.persistence.eis.interactions.EISInteraction
addOutputArgument, addOutputArgument, createRecordElement, getArguments, getFunctionName, getInputRecordName, getInputRow, getInteractionSpec, getOutputArgumentNames, getOutputArguments, getOutputResultPath, getProperties, getProperty, hasArguments, hasOutputArguments, isEISInteraction, setArguments, setFunctionName, setInputRecordName, setInputRow, setInteractionSpec, setOutputArgumentNames, setOutputArguments, setOutputResultPath, setProperties, setProperty, toString
 
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourceCall
appendIn, appendInOut, appendLiteral, appendModify, appendOut, appendParameter, appendTranslation, areManyRowsReturned, buildNewQueryMechanism, buildQueryMechanism, clone, getParameters, getParameterTypes, getQuery, getReturnType, hasParameters, isCursorReturned, isFinished, isJPQLCall, isNativeConnectionRequired, isNothingReturned, isOneRowReturned, isOutputParameterType, isReturnSet, isSQLCall, isStoredFunctionCall, isStoredProcedureCall, returnCursor, returnManyRows, returnNothing, returnOneRow, setIsNativeConnectionRequired, setParameters, setParameterTypes, setQuery, setReturnType, translateCustomQuery, translatePureSQLCustomQuery, translateQueryString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.persistence.internal.databaseaccess.QueryStringCall
appendLiteral, appendModify, appendParameter, appendTranslation, getParameters, getParameterTypes, hasParameters, translateCustomQuery, translateQueryString
 
Methods inherited from interface org.eclipse.persistence.queries.Call
buildNewQueryMechanism, buildQueryMechanism, clone, isFinished
 

Constructor Detail

XQueryInteraction

public XQueryInteraction()
Default constructor.


XQueryInteraction

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

Method Detail

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

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