Package org.jaxen.expr
Class PredicateSet
- java.lang.Object
-
- org.jaxen.expr.PredicateSet
-
- All Implemented Interfaces:
java.io.Serializable
public class PredicateSet extends java.lang.Object implements java.io.Serializable
Represents the collection of predicates that follow the node-test in a location path.
There is no rule that the same predicate may not appear twice in an XPath expression, nor does this class enforce any such rule. This is implemented more as a list than a set. However, adding the swme predicate twice should have no effect on the final result other than slowing it down.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List
predicates
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description PredicateSet()
Create a new empty predicate set.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPredicate(Predicate predicate)
Add a predicate to the set.private boolean
anyMatchingNode(java.util.List contextNodeSet, ContextSupport support)
java.util.List
applyPredicate(Predicate predicate, java.util.List nodes2Filter, ContextSupport support)
protected boolean
evaluateAsBoolean(java.util.List contextNodeSet, ContextSupport support)
Returns true if any of the supplied nodes satisfy all the predicates in the set.protected java.util.List
evaluatePredicates(java.util.List contextNodeSet, ContextSupport support)
Returns all of the supplied nodes that satisfy all the predicates in the set.java.util.List
getPredicates()
Returns the list containing the predicates.java.lang.String
getText()
Returns the XPath string containing each of the predicates.void
simplify()
Simplify each of the predicates in the list.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
predicates
private java.util.List predicates
-
-
Method Detail
-
addPredicate
public void addPredicate(Predicate predicate)
Add a predicate to the set.- Parameters:
predicate
- the predicate to be inserted
-
getPredicates
public java.util.List getPredicates()
Returns the list containing the predicates. This list is live, not a copy.- Returns:
- a live list of predicates
-
simplify
public void simplify()
Simplify each of the predicates in the list.
-
getText
public java.lang.String getText()
Returns the XPath string containing each of the predicates.- Returns:
- the XPath string containing each of the predicates
-
evaluateAsBoolean
protected boolean evaluateAsBoolean(java.util.List contextNodeSet, ContextSupport support) throws JaxenException
Returns true if any of the supplied nodes satisfy all the predicates in the set. Returns false if none of the supplied nodes matches all the predicates in the set. Returns false if the node-set is empty.
- Parameters:
contextNodeSet
- the nodes to test against these predicatessupport
- ????- Returns:
- true if any node in the contextNodeSet matches all the predicates
- Throws:
JaxenException
-
anyMatchingNode
private boolean anyMatchingNode(java.util.List contextNodeSet, ContextSupport support) throws JaxenException
- Throws:
JaxenException
-
evaluatePredicates
protected java.util.List evaluatePredicates(java.util.List contextNodeSet, ContextSupport support) throws JaxenException
Returns all of the supplied nodes that satisfy all the predicates in the set.
- Parameters:
contextNodeSet
- the nodes to test against these predicatessupport
- ????- Returns:
- all the nodes that match each of the predicates
- Throws:
JaxenException
-
applyPredicate
public java.util.List applyPredicate(Predicate predicate, java.util.List nodes2Filter, ContextSupport support) throws JaxenException
- Throws:
JaxenException
-
-