org.exolab.adaptx.xpath.engine
Class AbstractPathComponent
java.lang.Object
org.exolab.adaptx.xpath.engine.AbstractPathComponent
- MatchExpression, PathComponent, XPathExpression
public abstract class AbstractPathComponent
extends java.lang.Object
The base class for paths (now basically called paths)
$Revision: 4055 $ $Date: 2004-01-13 07:08:41 +0100 (Tue, 13 Jan 2004) $BOOLEAN , ERROR , FILTER_EXPR , LOCATION_PATH , NODE_TEST , NUMBER , PATH_EXPR , PRIMARY , STEP , STRING , UNION_EXPR |
void | addPredicate(XPathExpression expr) - Adds the given Expression to this PathComponent's predicate
List.
|
void | addPredicate(org.exolab.adaptx.xpath.engine.PredicateExprImpl predicate) - Adds the given Expression to this PathComponent's predicate
List.
|
abstract XPathResult | evaluate(XPathContext context) - Evaluates the expression and returns the XPath result.
|
void | evaluatePredicates(NodeSet nodes, XPathContext context) - Evaluates the PredicateExpr of this PathComponent against the
given Node.
|
abstract double | getDefaultPriority() - Determines the priority of a PatternExpr as follows:
From the 19991116 XSLT 1.0 Recommendation:
+ If the pattern has the form of a QName preceded by a
ChildOrAttributeAxisSpecifier or has the form
processing-instruction(Literal) then the priority is 0.
|
abstract short | getExprType() - Returns the type of this expression.
|
PredicateExpr | getPredicate() - Returns the PredicateExpr of this PathComponent
|
abstract XPathExpression | getSubExpression() - Returns the sub-expression encapsulated by this PathComponent.
|
boolean | hasPredicates() - Returns true if this FilterBase has predicates expressions.
|
abstract boolean | isFilterExpr() - Returns true if this PathComponent is a FilterExpr.
|
abstract boolean | isLocationStep() - Returns true if this PathComponent is a LocationStep.
|
abstract boolean | matches(XPathNode node, XPathContext context) - Determines if the given node is matched by this MatchExpr with
respect to the given context.
|
String | toString() - Returns the String representation of this PathComponent
|
AbstractPathComponent
public AbstractPathComponent()
Creates a new AbstractPathComponent
addPredicate
public void addPredicate(XPathExpression expr)
throws XPathException
Adds the given Expression to this PathComponent's predicate
List.
expr
- the Expr to add to the predicate list
addPredicate
public void addPredicate(org.exolab.adaptx.xpath.engine.PredicateExprImpl predicate)
throws XPathException
Adds the given Expression to this PathComponent's predicate
List.
getDefaultPriority
public abstract double getDefaultPriority()
Determines the priority of a PatternExpr as follows:
From the 19991116 XSLT 1.0 Recommendation:
+ If the pattern has the form of a QName preceded by a
ChildOrAttributeAxisSpecifier or has the form
processing-instruction(Literal) then the priority is 0.
+ If the pattern has the form NCName:* preceded by a
ChildOrAttributeAxisSpecifier, then the priority is -0.25
+ Otherwise if the pattern consists of just a NodeTest
preceded by a ChildOrAttributeAxisSpecifier then the
priority is -0.5
+ Otherwise the priority is 0.5
- getDefaultPriority in interface PathComponent
- the priority for this PatternExpr
getExprType
public abstract short getExprType()
Returns the type of this expression.
- getExprType in interface XPathExpression
- The type of this expression
getSubExpression
public abstract XPathExpression getSubExpression()
Returns the sub-expression encapsulated by this PathComponent.
the sub-expression will either be a PrimaryExpr if this
PathComponent is a FilterExpr, or a NodeExpression if this
Pathcomponent is a LocationStep. This method may return
null if no such sub-expression exists for the PathComponent.
- getSubExpression in interface PathComponent
- the sub-expression encapsulated by this PathComponent.
hasPredicates
public boolean hasPredicates()
Returns true if this FilterBase has predicates expressions.
- hasPredicates in interface PathComponent
- true if this FilterBase has predicates expressions.
isFilterExpr
public abstract boolean isFilterExpr()
Returns true if this PathComponent is a FilterExpr.
Note that if this method returns true, then a call to
#isLocationStep must return false.
- isFilterExpr in interface PathComponent
- true if this PathComponent is a FilterExpr
isLocationStep
public abstract boolean isLocationStep()
Returns true if this PathComponent is a LocationStep.
Note that if this method returns true, then a call to
#isFilterExpr must return false.
- isLocationStep in interface PathComponent
- true if this PathComponent is a LocationStep
matches
public abstract boolean matches(XPathNode node,
XPathContext context)
throws XPathException
Determines if the given node is matched by this MatchExpr with
respect to the given context.
- matches in interface MatchExpression
node
- the node to determine a match forcontext
- the XPathContext
- true if the given node is matched by this MatchExpr
toString
public String toString()
Returns the String representation of this PathComponent
- toString in interface XPathExpression
- the String representation of this PathComponent