org.apache.commons.jxpath

Interface ExpressionContext

Known Implementing Classes:
AncestorContext, AttributeContext, ChildContext, DescendantContext, EvalContext, InitialContext, NamespaceContext, NodeSetContext, ParentContext, PrecedingOrFollowingContext, PredicateContext, RootContext, SelfContext, UnionContext

public interface ExpressionContext

If an extenstion function has an argument of type ExpressionContext, it can gain access to the current node of an XPath expression context.

Example:

 public class MyExtenstionFunctions {
    public static String objectType(ExpressionContext context){
       Object value = context.getContextNodePointer().getValue();
       if (value == null){
           return "null";
       }
       return value.getClass().getName();
    }
 }
 
You can then register this extension function using a ClassFunctions object and call it like this:
   "/descendent-or-self::node()[ns:objectType() = 'java.util.Date']"
 
This expression will find all nodes of the graph that are dates.

Method Summary

List
getContextNodeList()
Get the current context node list.
Pointer
getContextNodePointer()
Get the current context node.
JXPathContext
getJXPathContext()
Get the JXPathContext in which this function is being evaluated.
int
getPosition()
Returns the current context position.

Method Details

getContextNodeList

public List getContextNodeList()
Get the current context node list. Each element of the list is a Pointer.
Returns:
A list representing the current context nodes.

getContextNodePointer

public Pointer getContextNodePointer()
Get the current context node.
Returns:
The current context node pointer.

getJXPathContext

public JXPathContext getJXPathContext()
Get the JXPathContext in which this function is being evaluated.
Returns:
A list representing the current context nodes.

getPosition

public int getPosition()
Returns the current context position.