Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.caucho.xpath
Class Env

    java.lang.Object
      |
      +--com.caucho.xpath.Env

All Implemented Interfaces:
  ExprEnvironment, org.w3c.xsl.XSLTContext

public class Env
extends java.lang.Object
implements ExprEnvironment

Global and local variable environment. The April XSLT draft introduces global and local variables. The Env class contains those bindings.

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 Summary
`Env()`

Method Summary
`void` | `addFunction(java.lang.String name, java.lang.Object fun)` Adds and extension function
`void` | `addVar(java.lang.String name, java.lang.Object value)` Adds the value associated with name.
`void` | `addVar(java.lang.String name, com.caucho.xpath.expr.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)`
`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.
`Node` | `getCurrentNode()` Gets the current node.
`XPathFun` | `getFunction(java.lang.String name)` Returns the named function.
`Document` | `getOwnerDocument()` Returns a document for creating nodes.
`int` | `getPositionIndex()`
`com.caucho.xpath.pattern.AbstractPattern` | `getSelect()`
`StylesheetEnv` | `getStylesheetEnv()` Returns the StylesheetEnv
`int` | `getUseCount()`
`com.caucho.xpath.expr.Var` | `getVar(java.lang.String name)` Returns the value associated with name.
`int` | `getVarSize()` Returns the current number of local variables.
`boolean` | `hasMorePositions()` Returns true if there are more positions() needed to iterate through.
`void` | `popVars(int count)` Pops the last count vars from the local stack.
`void` | `setCache(java.lang.Object key, java.lang.Object value)`
`Node` | `setContextNode(Node contextNode)` Sets the context node.
`int` | `setContextPosition(int position)`
`int` | `setContextSize(int size)`
`void` | `setCurrentNode(Node node)` Sets the current node.
`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)`
`com.caucho.xpath.pattern.AbstractPattern` | `setSelect(Node node, com.caucho.xpath.pattern.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` | `setVarSize(int size)` Sets the current number of local variables (popping, them).
`java.lang.String` | `stringValue(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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Env

    public Env()

Method Detail

### setStylesheetEnv

    public void setStylesheetEnv(StylesheetEnv stylesheetEnv)

### getStylesheetEnv

    public StylesheetEnv getStylesheetEnv()

  Description copied from interface: `ExprEnvironment`
  Returns the StylesheetEnv
  Specified by:
    `getStylesheetEnv` in interface `ExprEnvironment`

### clear

    public void clear()

  Clears all values in the local environment.

### getVarSize

    public int getVarSize()

  Returns the current number of local variables.

### setVarSize

    public void setVarSize(int size)

  Sets the current number of local variables (popping, them).

### getVar

    public com.caucho.xpath.expr.Var getVar(java.lang.String name)

  Returns the value associated with name.

  name must be interned

  Specified by:
    `getVar` in interface `ExprEnvironment`

### addVar

    public void addVar(java.lang.String name,
                       java.lang.Object value)

  Adds the value associated with name.

  name must be interned

### setVar

    public void setVar(java.lang.String name,
                       java.lang.Object value)

  Sets the value associated with name.

  name must be interned

### addVar

    public void addVar(java.lang.String name,
                       com.caucho.xpath.expr.Var value)

  Adds the value associated with name.

  name must be interned

### popVars

    public void popVars(int count)

  Pops the last count vars from the local stack.

### setGlobal

    public void setGlobal(java.lang.String name,
                          java.lang.Object value)

  Sets a global variable.

### setFunctions

    public java.util.HashMap setFunctions(java.util.HashMap functions)

  Sets the extension function library
  Parameters:
    `function` - new function library
  Returns:
    old function library

### addFunction

    public void addFunction(java.lang.String name,
                            java.lang.Object fun)

  Adds and extension function
  Parameters:
    `function` - new function library
  Returns:
    old function library

### getFunction

    public XPathFun getFunction(java.lang.String name)

  Returns the named function.
  Specified by:
    `getFunction` in interface `ExprEnvironment`

### hasMorePositions

    public boolean hasMorePositions()

  Returns true if there are more positions() needed to iterate through.

### setMorePositions

    public boolean setMorePositions(boolean more)

  Set true if there are more positions() needed to iterate through.
  Parameters:
    `more` - if true, there are more positions to iterate through.
  Returns:
    the old more-position value.

### setPositionIndex

    public int setPositionIndex(int index)

### getPositionIndex

    public int getPositionIndex()

### getCurrentNode

    public Node getCurrentNode()

  Gets the current node.
  Specified by:
    `getCurrentNode` in interface `org.w3c.xsl.XSLTContext`

### setCurrentNode

    public void setCurrentNode(Node node)

  Sets the current node.

### setSelect

    public com.caucho.xpath.pattern.AbstractPattern setSelect(Node node,
                                                              com.caucho.xpath.pattern.AbstractPattern select)

  Sets the selection context

### getSelect

    public com.caucho.xpath.pattern.AbstractPattern getSelect()

### getContextNode

    public Node getContextNode()

  Gets the context node.
  Specified by:
    `getContextNode` in interface `org.w3c.xsl.XSLTContext`

### setContextNode

    public Node setContextNode(Node contextNode)

  Sets the context node.
  Specified by:
    `setContextNode` in interface `ExprEnvironment`

### getContextPosition

    public int getContextPosition()

  Returns the position of the context node.
  Specified by:
    `getContextPosition` in interface `org.w3c.xsl.XSLTContext`

### getContextSize

    public int getContextSize()

  Returns the number of nodes in the context list.
  Specified by:
    `getContextSize` in interface `org.w3c.xsl.XSLTContext`

### getOwnerDocument

    public Document getOwnerDocument()

  Returns a document for creating nodes.
  Specified by:
    `getOwnerDocument` in interface `org.w3c.xsl.XSLTContext`

### systemProperty

    public java.lang.Object systemProperty(java.lang.String namespaceURI,
                                           java.lang.String localName)

  Returns the given system property.
  Specified by:
    `systemProperty` in interface `org.w3c.xsl.XSLTContext`

### stringValue

    public java.lang.String stringValue(Node node)

  Returns the string-value of the node.
  Specified by:
    `stringValue` in interface `org.w3c.xsl.XSLTContext`

### setPosition

    public void setPosition(int position)

### setContextPosition

    public int setContextPosition(int position)

### setContextSize

    public int setContextSize(int size)

### getCache

    public java.lang.Object getCache(java.lang.Object key)

### setCache

    public void setCache(java.lang.Object key,
                         java.lang.Object value)

### getUseCount

    public int getUseCount()

### free

    public void free()

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD