public class JaxenHandler extends Object implements XPathHandler
XPathHandler
implementation capable
of building Jaxen expression trees which can walk various
different object models.Modifier and Type | Field and Description |
---|---|
protected boolean |
simplified
????
|
protected LinkedList |
stack
This may be changed to an ArrayList in the future (i.e.
|
Constructor and Description |
---|
JaxenHandler()
Constructor
|
Modifier and Type | Method and Description |
---|---|
protected void |
addParameters(FunctionCallExpr function,
Iterator paramIter) |
protected void |
addPredicates(Predicated obj,
Iterator predIter) |
protected void |
addSteps(LocationPath locationPath,
Iterator stepIter) |
protected boolean |
canPop() |
void |
endAbsoluteLocationPath()
Receive notification of the end of an absolute location path expression.
|
void |
endAdditiveExpr(int operator)
Receive notification of the end of an additive ('+' or '-') expression.
|
void |
endAllNodeStep()
Receive notification of the end of a node() step.
|
void |
endAndExpr(boolean create)
Receive notification of the end of an 'and' expression.
|
void |
endCommentNodeStep()
Receive notification of the end of a comment() step.
|
void |
endEqualityExpr(int operator)
Receive notification of the end of an equality ('=' or '!=') expression.
|
void |
endFilterExpr()
Receive notification of the end of a filter expression.
|
void |
endFunction()
Receive notification of the end of a function call
|
protected void |
endLocationPath() |
void |
endMultiplicativeExpr(int operator)
Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
|
void |
endNameStep()
Receive notification of the end of a NameStep
|
void |
endOrExpr(boolean create)
Receive notification of the end of an 'or' expression.
|
void |
endPathExpr()
Receive notification of the end of a path expression.
|
void |
endPredicate()
Receive notification of the end of a predicate.
|
void |
endProcessingInstructionNodeStep()
Receive notification of the end of a processing-instruction(...) step.
|
void |
endRelationalExpr(int operator)
Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
|
void |
endRelativeLocationPath()
Receive notification of the end of a relative location path expression.
|
protected void |
endStep() |
void |
endTextNodeStep()
Receive notification of the end of a text() step.
|
void |
endUnaryExpr(int operator)
Receive notification of the end of a unary ('+' or '-') expression.
|
void |
endUnionExpr(boolean create)
Receive notification of the end of a union ('|') expression.
|
void |
endXPath()
Receive notification of the end of an XPath expression parse.
|
XPathExpr |
getXPathExpr()
Retrieve the simplified Jaxen XPath expression tree.
|
XPathExpr |
getXPathExpr(boolean shouldSimplify)
Retrieve the Jaxen XPath expression tree, optionally
simplified.
|
XPathFactory |
getXPathFactory()
Retrieve the Jaxen
XPathFactory used
during the parse to construct the XPath expression tree. |
void |
literal(String literal)
Receive notification of a literal expression.
|
void |
number(double number)
Receive notification of a number expression.
|
void |
number(int number)
Receive notification of a number expression.
|
protected LinkedList |
peekFrame() |
protected Object |
pop() |
protected LinkedList |
popFrame() |
protected void |
push(Object obj) |
protected void |
pushFrame() |
protected void |
returnExpr() |
void |
setXPathFactory(XPathFactory xpathFactory)
Set the Jaxen
XPathFactory that constructs
the XPath expression tree during the parse. |
protected int |
stackSize() |
void |
startAbsoluteLocationPath()
Receive notification of the start of an absolute location path expression.
|
void |
startAdditiveExpr()
Receive notification of the start of an additive ('+' or '-') expression.
|
void |
startAllNodeStep(int axis)
Receive notification of the start of a node() step.
|
void |
startAndExpr()
Receive notification of the start of an 'and' expression.
|
void |
startCommentNodeStep(int axis)
Receive notification of the start of a comment() step.
|
void |
startEqualityExpr()
Receive notification of the start of an equality ('=' or '!=') expression.
|
void |
startFilterExpr()
Receive notification of the start of a filter expression.
|
void |
startFunction(String prefix,
String functionName)
Receive notification of a function call.
|
void |
startMultiplicativeExpr()
Receive notification of the start of a multiplicative ('*', 'div' or 'mod') expression.
|
void |
startNameStep(int axis,
String prefix,
String localName)
Receive notification of the start of a name step.
|
void |
startOrExpr()
Receive notification of the start of an 'or' expression.
|
void |
startPathExpr()
Receive notification of the start of a path expression.
|
void |
startPredicate()
Receive notification of the start of a predicate.
|
void |
startProcessingInstructionNodeStep(int axis,
String name)
Receive notification of the start of a processing-instruction(...) step.
|
void |
startRelationalExpr()
Receive notification of the start of a relational ('<', '>', '<=', or '>=') expression.
|
void |
startRelativeLocationPath()
Receive notification of the start of a relative location path expression.
|
void |
startTextNodeStep(int axis)
Receive notification of the start of a text() step.
|
void |
startUnaryExpr()
Receive notification of the start of a unary ('+' or '-') expression.
|
void |
startUnionExpr()
Receive notification of the start of a union ('|') expression.
|
void |
startXPath()
Receive notification of the start of an XPath expression parse.
|
void |
variableReference(String prefix,
String variableName)
Receive notification of a variable-reference expression.
|
protected boolean simplified
protected LinkedList stack
public void setXPathFactory(XPathFactory xpathFactory)
XPathFactory
that constructs
the XPath expression tree during the parse.xpathFactory
- the factory to use during the parsepublic XPathFactory getXPathFactory()
XPathFactory
used
during the parse to construct the XPath expression tree.XPathFactory
used during the parse.public XPathExpr getXPathExpr()
This method is only valid once XPathReader.parse(...)
successfully returned.
public XPathExpr getXPathExpr(boolean shouldSimplify)
This method is only valid once XPathReader.parse(...)
successfully returned.
shouldSimplify
- ????public void startXPath()
XPathHandler
startXPath
in interface XPathHandler
public void endXPath() throws JaxenException
XPathHandler
endXPath
in interface XPathHandler
JaxenException
public void startPathExpr()
XPathHandler
startPathExpr
in interface XPathHandler
public void endPathExpr() throws JaxenException
XPathHandler
endPathExpr
in interface XPathHandler
JaxenException
public void startAbsoluteLocationPath() throws JaxenException
XPathHandler
startAbsoluteLocationPath
in interface XPathHandler
JaxenException
public void endAbsoluteLocationPath() throws JaxenException
XPathHandler
endAbsoluteLocationPath
in interface XPathHandler
JaxenException
public void startRelativeLocationPath() throws JaxenException
XPathHandler
startRelativeLocationPath
in interface XPathHandler
JaxenException
public void endRelativeLocationPath() throws JaxenException
XPathHandler
endRelativeLocationPath
in interface XPathHandler
JaxenException
protected void endLocationPath() throws JaxenException
JaxenException
protected void addSteps(LocationPath locationPath, Iterator stepIter)
public void startNameStep(int axis, String prefix, String localName) throws JaxenException
XPathHandler
startNameStep
in interface XPathHandler
axis
- the axis of this stepprefix
- the namespace prefix for the name to test,
or the empty string if no prefix is specifiedlocalName
- the local part of the name to testJaxenException
public void endNameStep()
XPathHandler
endNameStep
in interface XPathHandler
public void startTextNodeStep(int axis) throws JaxenException
XPathHandler
startTextNodeStep
in interface XPathHandler
axis
- the axis of this stepJaxenException
public void endTextNodeStep()
XPathHandler
endTextNodeStep
in interface XPathHandler
public void startCommentNodeStep(int axis) throws JaxenException
XPathHandler
startCommentNodeStep
in interface XPathHandler
axis
- the axis of this stepJaxenException
public void endCommentNodeStep()
XPathHandler
endCommentNodeStep
in interface XPathHandler
public void startAllNodeStep(int axis) throws JaxenException
XPathHandler
startAllNodeStep
in interface XPathHandler
axis
- the axis of this stepJaxenException
public void endAllNodeStep()
XPathHandler
endAllNodeStep
in interface XPathHandler
public void startProcessingInstructionNodeStep(int axis, String name) throws JaxenException
XPathHandler
startProcessingInstructionNodeStep
in interface XPathHandler
axis
- the axis of this stepname
- the name of the processing-instruction, or
the empty string if none is specifiedJaxenException
public void endProcessingInstructionNodeStep()
XPathHandler
endProcessingInstructionNodeStep
in interface XPathHandler
protected void endStep()
public void startPredicate()
XPathHandler
startPredicate
in interface XPathHandler
public void endPredicate() throws JaxenException
XPathHandler
endPredicate
in interface XPathHandler
JaxenException
public void startFilterExpr()
XPathHandler
startFilterExpr
in interface XPathHandler
public void endFilterExpr() throws JaxenException
XPathHandler
endFilterExpr
in interface XPathHandler
JaxenException
protected void addPredicates(Predicated obj, Iterator predIter)
protected void returnExpr()
public void startOrExpr()
XPathHandler
startOrExpr
in interface XPathHandler
public void endOrExpr(boolean create) throws JaxenException
XPathHandler
endOrExpr
in interface XPathHandler
create
- flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productionsJaxenException
public void startAndExpr()
XPathHandler
startAndExpr
in interface XPathHandler
public void endAndExpr(boolean create) throws JaxenException
XPathHandler
endAndExpr
in interface XPathHandler
create
- flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productionsJaxenException
public void startEqualityExpr()
XPathHandler
startEqualityExpr
in interface XPathHandler
public void endEqualityExpr(int operator) throws JaxenException
XPathHandler
endEqualityExpr
in interface XPathHandler
operator
- the operator specific to this particular
equality expression. If null, this expression
is only a pass-through, and should not actually
be instantiated.JaxenException
public void startRelationalExpr()
XPathHandler
startRelationalExpr
in interface XPathHandler
public void endRelationalExpr(int operator) throws JaxenException
XPathHandler
endRelationalExpr
in interface XPathHandler
operator
- the operator specific to this particular
relational expression. If NO_OP, this expression
is only a pass-through, and should not actually
be instantiated.JaxenException
public void startAdditiveExpr()
XPathHandler
startAdditiveExpr
in interface XPathHandler
public void endAdditiveExpr(int operator) throws JaxenException
XPathHandler
endAdditiveExpr
in interface XPathHandler
operator
- the operator specific to this particular
additive expression. If NO_OP, this expression
is only a pass-through, and should not actually
be instantiated.JaxenException
public void startMultiplicativeExpr()
XPathHandler
startMultiplicativeExpr
in interface XPathHandler
public void endMultiplicativeExpr(int operator) throws JaxenException
XPathHandler
endMultiplicativeExpr
in interface XPathHandler
operator
- the operator specific to this particular
multiplicative expression. If null, this expression
is only a pass-through, and should not actually
be instantiated.JaxenException
public void startUnaryExpr()
XPathHandler
startUnaryExpr
in interface XPathHandler
public void endUnaryExpr(int operator) throws JaxenException
XPathHandler
endUnaryExpr
in interface XPathHandler
operator
- the operator specific to this particular
unary expression. If NO_OP, this expression is only
a pass-through, and should not actually be instantiated.
If not Operator.NO_OP
, it will
always be Operator.NEGATIVE
.JaxenException
public void startUnionExpr()
XPathHandler
startUnionExpr
in interface XPathHandler
public void endUnionExpr(boolean create) throws JaxenException
XPathHandler
endUnionExpr
in interface XPathHandler
create
- flag that indicates if this expression
should truly be instantiated, or if it was just
a pass-through, based upon the grammar productionsJaxenException
public void number(int number) throws JaxenException
XPathHandler
number
in interface XPathHandler
number
- the number valueJaxenException
public void number(double number) throws JaxenException
XPathHandler
number
in interface XPathHandler
number
- the number valueJaxenException
public void literal(String literal) throws JaxenException
XPathHandler
literal
in interface XPathHandler
literal
- the string literal valueJaxenException
public void variableReference(String prefix, String variableName) throws JaxenException
XPathHandler
variableReference
in interface XPathHandler
prefix
- the namespace prefix of the variablevariableName
- the local name of the variableJaxenException
public void startFunction(String prefix, String functionName) throws JaxenException
XPathHandler
startFunction
in interface XPathHandler
prefix
- the namespace prefix of the functionfunctionName
- the local name of the functionJaxenException
public void endFunction()
XPathHandler
endFunction
in interface XPathHandler
protected void addParameters(FunctionCallExpr function, Iterator paramIter)
protected int stackSize()
protected void push(Object obj)
protected Object pop()
protected boolean canPop()
protected void pushFrame()
protected LinkedList popFrame()
protected LinkedList peekFrame()
Copyright 2001–2022 The Jaxen Project. All rights reserved.