org.jaxen.expr
Class DefaultLocationPath

java.lang.Object
  extended byorg.jaxen.expr.DefaultExpr
      extended byorg.jaxen.expr.DefaultLocationPath
All Implemented Interfaces:
Expr, LocationPath, java.io.Serializable
Direct Known Subclasses:
DefaultAbsoluteLocationPath, DefaultRelativeLocationPath

abstract class DefaultLocationPath
extends DefaultExpr
implements LocationPath


Field Summary
private  java.util.List steps
           
 
Constructor Summary
(package private) DefaultLocationPath()
          Create a new empty location path.
 
Method Summary
 void addStep(Step step)
          Add the next step to this location path.
 java.lang.Object evaluate(Context context)
          Evaluate the expression in the given context, and return the result.
 java.util.List getSteps()
          Returns the ordered list of steps in this location path.
 java.lang.String getText()
          Returns a String containing the XPath expression.
 boolean isAbsolute()
          Returns true if this is an absolute location path; false if it isn't.
private  boolean isReverseAxis(Step step)
           
 Expr simplify()
          Simplifies the XPath expression.
 java.lang.String toString()
           
 
Methods inherited from class org.jaxen.expr.DefaultExpr
convertToIterator, convertToList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

steps

private java.util.List steps
Constructor Detail

DefaultLocationPath

DefaultLocationPath()
Create a new empty location path.

Method Detail

addStep

public void addStep(Step step)
Description copied from interface: LocationPath
Add the next step to this location path.

Specified by:
addStep in interface LocationPath
Parameters:
step -

getSteps

public java.util.List getSteps()
Description copied from interface: LocationPath
Returns the ordered list of steps in this location path. This list may be live.

Specified by:
getSteps in interface LocationPath
Returns:
the ordered list of steps in this location path

simplify

public Expr simplify()
Description copied from interface: Expr
Simplifies the XPath expression. For example, the expression //para[1 = 1] could be simplified to //para. In practice, this is usually a noop. Jaxen does not currently perform any simplification.

Specified by:
simplify in interface Expr
Overrides:
simplify in class DefaultExpr

getText

public java.lang.String getText()
Description copied from interface: Expr
Returns a String containing the XPath expression.

Specified by:
getText in interface Expr
Returns:
the text form of this XPath expression

toString

public java.lang.String toString()

isAbsolute

public boolean isAbsolute()
Description copied from interface: LocationPath
Returns true if this is an absolute location path; false if it isn't. Absolute location paths all begiune with / or //.

Specified by:
isAbsolute in interface LocationPath
Returns:
true if this is an absol;ute location path; false if it isn't

evaluate

public java.lang.Object evaluate(Context context)
                          throws JaxenException
Description copied from interface: Expr
Evaluate the expression in the given context, and return the result. The result will be a java.lang.Double for expressions that return a number, a java.lang.String for expressions that return a string, a java.lang.Boolean for expressions that return a boolean, and a java.util.List for expressions that return a node-set. In the latter case, the elements of the list are the actual objects from the source document model. Copies are not made.

Specified by:
evaluate in interface Expr
Parameters:
context - the context in which the expression is evaluated
Returns:
an object representing the result of the evaluation
Throws:
JaxenException

isReverseAxis

private boolean isReverseAxis(Step step)