org.exolab.adaptx.xpath.engine
Class AbstractPathComponent
java.lang.Objectorg.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