public class Env extends java.lang.Object implements ExprEnvironment
Because this class exists only to support XSL, it makes a number of assumptions that would be invalid for a typical API. Specifically, the variable names must be interned strings, i.e. variable matching uses '==', not equals.
Local variables are handled like a stack. They are pushed and popped as necessary. The top variables shadow bottom variables.
In other words, although the API somewhat resembles a HashMap, it can't be used as a generic hash map.
Constructor and Description |
---|
Env() |
Modifier and Type | Method and Description |
---|---|
void |
addFunction(java.lang.String name,
java.lang.Object fun)
Adds and extension function
|
int |
addVar(java.lang.String name,
java.lang.Object value)
Adds the value associated with name.
|
int |
addVar(java.lang.String name,
Var value)
Adds the value associated with name.
|
void |
clear()
Clears all values in the local environment.
|
void |
free() |
java.lang.Object |
getCache(java.lang.Object key) |
org.w3c.dom.Node |
getContextNode()
Gets the context node.
|
int |
getContextPosition()
Returns the position of the context node.
|
int |
getContextSize()
Returns the number of nodes in the context list.
|
org.w3c.dom.Node |
getCurrentNode()
Gets the current node.
|
ExprEnvironment |
getExprEnv() |
XPathFun |
getFunction(java.lang.String name)
Returns the named function.
|
org.w3c.dom.Document |
getOwnerDocument()
Returns a document for creating nodes.
|
int |
getPositionIndex() |
AbstractPattern |
getSelect() |
StylesheetEnv |
getStylesheetEnv()
Returns the StylesheetEnv
|
int |
getTop()
Returns the top of the stack.
|
int |
getUseCount() |
Var |
getVar(java.lang.String name)
Returns the value associated with name.
|
VarEnv |
getVarEnv()
Returns the variable environment.
|
int |
getVarSize()
Returns the current number of local variables.
|
boolean |
hasMorePositions()
Returns true if there are more positions() needed to iterate through.
|
void |
popToTop(int top)
Pops the last count vars from the local stack.
|
void |
popVars(int count)
Pops the last count vars from the local stack.
|
void |
setCache(java.lang.Object key,
java.lang.Object value) |
org.w3c.dom.Node |
setContextNode(org.w3c.dom.Node contextNode)
Sets the context node.
|
int |
setContextPosition(int position) |
int |
setContextSize(int size)
Sets the context size to a know value.
|
void |
setCurrentNode(org.w3c.dom.Node node)
Sets the current node.
|
ExprEnvironment |
setExprEnv(ExprEnvironment exprEnv)
Sets the selection context
|
java.util.HashMap |
setFunctions(java.util.HashMap functions)
Sets the extension function library
|
void |
setGlobal(java.lang.String name,
java.lang.Object value)
Sets a global variable.
|
boolean |
setMorePositions(boolean more)
Set true if there are more positions() needed to iterate through.
|
void |
setPosition(int position) |
int |
setPositionIndex(int index) |
AbstractPattern |
setSelect(org.w3c.dom.Node node,
AbstractPattern select)
Sets the selection context
|
void |
setStylesheetEnv(StylesheetEnv stylesheetEnv) |
void |
setVar(java.lang.String name,
java.lang.Object value)
Sets the value associated with name.
|
void |
setVarEnv(VarEnv varEnv)
Sets the variable environment.
|
void |
setVarSize(int size)
Sets the current number of local variables (popping, them).
|
java.lang.String |
stringValue(org.w3c.dom.Node node)
Returns the string-value of the node.
|
java.lang.Object |
systemProperty(java.lang.String namespaceURI,
java.lang.String localName)
Returns the given system property.
|
public void setStylesheetEnv(StylesheetEnv stylesheetEnv)
public StylesheetEnv getStylesheetEnv()
ExprEnvironment
getStylesheetEnv
in interface ExprEnvironment
public void setVarEnv(VarEnv varEnv)
public VarEnv getVarEnv()
public void clear()
public int getVarSize()
public void setVarSize(int size)
public Var getVar(java.lang.String name)
name must be interned
getVar
in interface ExprEnvironment
public int addVar(java.lang.String name, java.lang.Object value)
name must be interned
public void setVar(java.lang.String name, java.lang.Object value)
name must be interned
public int addVar(java.lang.String name, Var value)
name must be interned
public void popVars(int count)
public int getTop()
public void popToTop(int top)
public void setGlobal(java.lang.String name, java.lang.Object value)
public java.util.HashMap setFunctions(java.util.HashMap functions)
function
- new function librarypublic void addFunction(java.lang.String name, java.lang.Object fun)
function
- new function librarypublic XPathFun getFunction(java.lang.String name)
getFunction
in interface ExprEnvironment
public boolean hasMorePositions()
public boolean setMorePositions(boolean more)
more
- if true, there are more positions to iterate through.public int setPositionIndex(int index)
public int getPositionIndex()
public org.w3c.dom.Node getCurrentNode()
getCurrentNode
in interface ExprEnvironment
public void setCurrentNode(org.w3c.dom.Node node)
public AbstractPattern setSelect(org.w3c.dom.Node node, AbstractPattern select)
public AbstractPattern getSelect()
public ExprEnvironment setExprEnv(ExprEnvironment exprEnv)
public ExprEnvironment getExprEnv()
public org.w3c.dom.Node getContextNode()
getContextNode
in interface ExprEnvironment
public org.w3c.dom.Node setContextNode(org.w3c.dom.Node contextNode)
setContextNode
in interface ExprEnvironment
public int getContextPosition()
getContextPosition
in interface ExprEnvironment
public int getContextSize()
getContextSize
in interface ExprEnvironment
public org.w3c.dom.Document getOwnerDocument()
getOwnerDocument
in interface ExprEnvironment
public java.lang.Object systemProperty(java.lang.String namespaceURI, java.lang.String localName)
systemProperty
in interface ExprEnvironment
public java.lang.String stringValue(org.w3c.dom.Node node)
stringValue
in interface ExprEnvironment
public void setPosition(int position)
public int setContextPosition(int position)
public int setContextSize(int size)
public java.lang.Object getCache(java.lang.Object key)
public void setCache(java.lang.Object key, java.lang.Object value)
public int getUseCount()
public void free()