org.jaxen

Class Context

public class Context extends Object implements Serializable

Wrapper around implementation-specific objects used as the context of an expression evaluation.

NOTE: This class is not typically used directly, but is exposed for writers of implementation-specific XPath packages.

The Context bundles utilities together for evaluation of the expression. It wraps the provided objects for ease-of-passage through the expression AST.

Author: bob mcwhirter

See Also: ContextSupport BaseXPath XPath for dom4j XPath for JDOM XPath for W3C DOM

Field Summary
ContextSupportcontextSupport
Context-support
ListnodeSet
Context node-set
intposition
Current context position
static longserialVersionUID
intsize
Current context size
Constructor Summary
Context(ContextSupport contextSupport)
Create a new context.
Method Summary
Contextduplicate()
Create a type-safe shallow copy.
ContextSupportgetContextSupport()
Retrieve the ContextSupport.
FunctiongetFunction(String namespaceURI, String prefix, String localName)
Retrieve a Function.
NavigatorgetNavigator()
Retrieve the current Navigator.
ListgetNodeSet()
Retrieve the context node-set.
intgetPosition()
Retrieve current position in the context node-set.
intgetSize()
Retrieve the size of the current context node-set.
ObjectgetVariableValue(String namespaceURI, String prefix, String localName)
Retrieve a variable value.
voidsetContextSupport(ContextSupport contextSupport)
Set the ContextSupport.
voidsetNodeSet(List nodeSet)

Set the context node-set, and sets the current context size to the size of this node-set.

voidsetPosition(int position)
Set the current position in the context node-set.
voidsetSize(int size)
Set the current size in the context node-set.
StringtranslateNamespacePrefixToUri(String prefix)
Translate a namespace prefix to its URI.

Field Detail

contextSupport

private ContextSupport contextSupport
Context-support

nodeSet

private List nodeSet
Context node-set

position

private int position
Current context position

serialVersionUID

private static final long serialVersionUID

size

private int size
Current context size

Constructor Detail

Context

public Context(ContextSupport contextSupport)
Create a new context.

Parameters: contextSupport the context-support

Method Detail

duplicate

public Context duplicate()
Create a type-safe shallow copy.

Returns: the duplicate

getContextSupport

public ContextSupport getContextSupport()
Retrieve the ContextSupport.

Returns: the context-support

getFunction

public Function getFunction(String namespaceURI, String prefix, String localName)
Retrieve a Function.

Parameters: namespaceURI the function namespace URI prefix the function prefix localName the function name

Returns: the function object

Throws: UnresolvableException if unable to locate a bound function

getNavigator

public Navigator getNavigator()
Retrieve the current Navigator.

Returns: the navigator

getNodeSet

public List getNodeSet()
Retrieve the context node-set. This is a live list. It is not a copy. Do not modify it.

Returns: the context node-set

getPosition

public int getPosition()
Retrieve current position in the context node-set.

Returns: the current position

getSize

public int getSize()
Retrieve the size of the current context node-set.

Returns: the size

getVariableValue

public Object getVariableValue(String namespaceURI, String prefix, String localName)
Retrieve a variable value.

Parameters: namespaceURI the function namespace URI prefix the function prefix localName the function name

Returns: the variable value

Throws: UnresolvableException if unable to locate a bound variable

setContextSupport

public void setContextSupport(ContextSupport contextSupport)
Set the ContextSupport.

Parameters: contextSupport the context-support

setNodeSet

public void setNodeSet(List nodeSet)

Set the context node-set, and sets the current context size to the size of this node-set.

The actual list is stored in this object. A copy is not made. This list should not be modified in other code after calling this method.

After invoking this method, the client should immediately call {@link #setSize(int) setSize} and {@link #setPosition(int) setPosition}.

Parameters: nodeSet the context node-set

setPosition

public void setPosition(int position)
Set the current position in the context node-set.

Parameters: position the position

setSize

public void setSize(int size)
Set the current size in the context node-set.

Parameters: size the size

translateNamespacePrefixToUri

public String translateNamespacePrefixToUri(String prefix)
Translate a namespace prefix to its URI.

Parameters: prefix the prefix

Returns: the namespace URI mapped to the prefix