net.sf.saxon.query
Class DynamicQueryContext

java.lang.Object
  |
  +--net.sf.saxon.query.DynamicQueryContext

public class DynamicQueryContext
extends java.lang.Object

This object represents a dynamic context for query execution. This class is used by the application writer to set up aspects of the dynamic context; it is not used operationally (or modified) by the XQuery processor itself, which copies all required information into its own internal representation.


Constructor Summary
DynamicQueryContext()
           
 
Method Summary
 void clearParameters()
          Reset the parameters to an empty list.
 Item getContextItem()
          Get the context item for the query, as set using setContextItem() or setContextNode().
 NodeInfo getContextNode()
          Get the context node for the query, as set using setContextNode() or getContextItem() (provided the item is a node).
 javax.xml.transform.ErrorListener getErrorListener()
          Get the error listener.
 java.lang.Object getParameter(java.lang.String expandedName)
          Get the actual value of a parameter to the query.
protected  java.util.HashMap getParameters()
          Get the supplied parameters as a HashMap
 javax.xml.transform.URIResolver getURIResolver()
          Get the URI resolver.
 void setContextItem(Item item)
          Set the context item for evaluating the expression.
 void setContextNode(NodeInfo node)
          Set the context item for evaluating the expression to be a node.
 void setErrorListener(javax.xml.transform.ErrorListener listener)
          Set the error listener.
 void setParameter(java.lang.String expandedName, java.lang.Object value)
          Set a parameter for the query.
 void setURIResolver(javax.xml.transform.URIResolver resolver)
          Set an object that will be used to resolve URIs used in fn:document() and related functions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicQueryContext

public DynamicQueryContext()
Method Detail

setContextNode

public void setContextNode(NodeInfo node)
Set the context item for evaluating the expression to be a node. If this method is not called, the context node will be undefined. The context node is available as the value of the expression ".". To obtain a NodeInfo by parsing a source document, see the method buildDocument in class QueryProcessor.

Parameters:
node - The node that is to be the context node for the query
See Also:

setContextItem

public void setContextItem(Item item)
Set the context item for evaluating the expression. If this method is not called, the context node will be undefined. The context item is available as the value of the expression ".",. To obtain a node by parsing a source document, see the method buildDocument in class QueryProcessor.

Parameters:
item - The item that is to be the context item for the query

getContextNode

public NodeInfo getContextNode()
Get the context node for the query, as set using setContextNode() or getContextItem() (provided the item is a node).

Returns:
the context node if set, or null otherwise.

getContextItem

public Item getContextItem()
Get the context item for the query, as set using setContextItem() or setContextNode().

Returns:
the context item if set, or null otherwise.

setParameter

public void setParameter(java.lang.String expandedName,
                         java.lang.Object value)
Set a parameter for the query.

Parameters:
expandedName - The name of the parameter in "{uri}local-name" format. It is not an error to supply a value for a parameter that has not been declared, the parameter will simply be ignored. If the parameter has been declared in the query (as an external global variable) then it will be initialized with the value supplied.
value - The value of the parameter. This can be any valid Java object. It follows the same conversion rules as a value returned from a Saxon extension function. An error will occur at query execution time if the supplied value cannot be converted to the required type as declared in the query. For precise control of the type of the value, instantiate one of the classes in the net.sf.saxon.value package, for example net.sf.saxon.value.DayTimeDuration.

clearParameters

public void clearParameters()
Reset the parameters to an empty list.


getParameter

public java.lang.Object getParameter(java.lang.String expandedName)
Get the actual value of a parameter to the query.

Parameters:
expandedName - the name of the required parameter, in "{uri}local-name" format
Returns:
the value of the parameter, if it exists, or null otherwise

getParameters

protected java.util.HashMap getParameters()
Get the supplied parameters as a HashMap


setURIResolver

public void setURIResolver(javax.xml.transform.URIResolver resolver)
Set an object that will be used to resolve URIs used in fn:document() and related functions.

Parameters:
resolver - An object that implements the URIResolver interface, or null.

getURIResolver

public javax.xml.transform.URIResolver getURIResolver()
Get the URI resolver.

Returns:
the user-supplied URI resolver if there is one, or the system-defined one otherwise

setErrorListener

public void setErrorListener(javax.xml.transform.ErrorListener listener)
Set the error listener. The error listener receives reports of all run-time errors and can decide how to report them.

Parameters:
listener - the ErrorListener to be used

getErrorListener

public javax.xml.transform.ErrorListener getErrorListener()
Get the error listener.

Returns:
the ErrorListener in use