org.eclipse.jst.jsf.core.tagmatcher
Class TagMatchingAlgorithm
java.lang.Object
org.eclipse.jst.jsf.core.tagmatcher.TagMatchingAlgorithm
-
Direct Known Subclasses:
-
XPathMatchingAlgorithm
-
public abstract class TagMatchingAlgorithm
- extends java.lang.Object
An algorithm that can be applied at a particular DOM node. The result
may be expressed as a boolean or a set of matching nodes. The following
are equivalent:
false and empty set
true and non-empty set
Concrete implementations must be idempotent on evaluate():
1) evaluate(node) must always return the same set if called repeatedly on
the same node in the same DOM tree.
2) evaluate must be able to be called on any number of nodes in order and always
produce the same result independent of what was called before and in what order.
Provisional API - subject to change
Method Summary
|
AxiomaticSet
|
evaluate
(org.w3c.dom.Node applyTo)
|
void
|
initialize
()
Called exactly once to initialize any pre-evaluation setup for
the expression set for the algorithm. |
Methods inherited from class java.lang.Object
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
|
initialize
public final void initialize()
- Called exactly once to initialize any pre-evaluation setup for
the expression set for the algorithm. This is public to allow
the client control when this initialization occurs in case it is expensive.
evaluate() will call this method automatically if it has never been called
-
-
Throws:
-
InvalidExpressionException
- if the underlying algorithm throws an
exception during init
-
java.lang.IllegalStateException
- if it has already been determined that the
expression is invalid.
evaluate
public final
AxiomaticSet evaluate(org.w3c.dom.Node applyTo)
-
-
Parameters:
-
applyTo
-
-
Returns:
- the set matching the configured expression applied to applyTo
using the algorithm represented by this instance.
-
Throws:
-
InvalidExpressionException
- of a problem occurs initializing the expression
-
EvaluationException
- if the internal algorithm throws an exception while
evaluating.
-
java.lang.IllegalStateException
- if evaluate is called again once InvalidExpressionException
has already been thrown.