Package org.jaxen

Class SimpleVariableContext

  • All Implemented Interfaces:
    java.io.Serializable, VariableContext

    public class SimpleVariableContext
    extends java.lang.Object
    implements VariableContext, java.io.Serializable
    Simple default implementation for VariableContext.

    This is a simple table-based key-lookup implementation for VariableContext which can be programmatically extended by setting additional variables.

    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static long serialVersionUID  
      private java.util.Map variables
      Table of variable bindings.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getVariableValue​(java.lang.String namespaceURI, java.lang.String prefix, java.lang.String localName)
      An implementation should return the value of an XPath variable based on the namespace URI and local name of the variable-reference expression.
      void setVariableValue​(java.lang.String localName, java.lang.Object value)
      Set the value associated with a variable.
      void setVariableValue​(java.lang.String namespaceURI, java.lang.String localName, java.lang.Object value)
      Set the value associated with a variable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • variables

        private java.util.Map variables
        Table of variable bindings.
    • Constructor Detail

      • SimpleVariableContext

        public SimpleVariableContext()
        Construct.

        Create a new empty variable context.

    • Method Detail

      • setVariableValue

        public void setVariableValue​(java.lang.String namespaceURI,
                                     java.lang.String localName,
                                     java.lang.Object value)
        Set the value associated with a variable.

        This method sets a variable that is associated with a particular namespace. These variables appear such as $prefix:foo in an XPath expression. Prefix to URI resolution is the responsibility of a NamespaceContext. Variables within a VariableContext are referred to purely based upon their namespace URI, if any.

        Parameters:
        namespaceURI - the namespace URI of the variable
        localName - the local name of the variable
        value - The value to be bound to the variable
      • setVariableValue

        public void setVariableValue​(java.lang.String localName,
                                     java.lang.Object value)
        Set the value associated with a variable.

        This method sets a variable that is not associated with any particular namespace. These variables look like $foo in an XPath expression.

        Parameters:
        localName - the local name of the variable
        value - the value to be bound to the variable
      • getVariableValue

        public java.lang.Object getVariableValue​(java.lang.String namespaceURI,
                                                 java.lang.String prefix,
                                                 java.lang.String localName)
                                          throws UnresolvableException
        Description copied from interface: VariableContext
        An implementation should return the value of an XPath variable based on the namespace URI and local name of the variable-reference expression.

        It must not use the prefix parameter to select a variable, because a prefix could be bound to any namespace; the prefix parameter could be used in debugging output or other generated information. The prefix may otherwise be ignored.

        Specified by:
        getVariableValue in interface VariableContext
        Parameters:
        namespaceURI - the namespace URI to which the prefix parameter is bound in the XPath expression. If the variable reference expression had no prefix, the namespace URI is null.
        prefix - the prefix that was used in the variable reference expression; this value is ignored and has no effect
        localName - the local name of the variable-reference expression. If there is no prefix, then this is the whole name of the variable.
        Returns:
        the variable's value (which can be null)
        Throws:
        UnresolvableException - when the variable cannot be resolved