org.jaxen.expr
Class DefaultXPathFactory

java.lang.Object
  extended by org.jaxen.expr.DefaultXPathFactory
All Implemented Interfaces:
XPathFactory

public class DefaultXPathFactory
extends Object
implements XPathFactory

The concrete implementation of the XPathFactory anstract factory.

See Also:
XPathFactory

Constructor Summary
DefaultXPathFactory()
           
 
Method Summary
 LocationPath createAbsoluteLocationPath()
          Create a new empty absolute location path.
 BinaryExpr createAdditiveExpr(Expr lhs, Expr rhs, int additiveOperator)
          Returns a new XPath additive expression.
 Step createAllNodeStep(int axis)
          Create a step with a node() node-test.
 BinaryExpr createAndExpr(Expr lhs, Expr rhs)
          Returns a new XPath And expression.
 Step createCommentNodeStep(int axis)
          Create a step with a comment() node-test.
 BinaryExpr createEqualityExpr(Expr lhs, Expr rhs, int equalityOperator)
          Returns a new XPath equality expression.
 FilterExpr createFilterExpr(Expr expr)
          Returns a new XPath filter expression.
 FunctionCallExpr createFunctionCallExpr(String prefix, String functionName)
          Create a new function call expression.
 LiteralExpr createLiteralExpr(String literal)
          Create a string literal expression.
 BinaryExpr createMultiplicativeExpr(Expr lhs, Expr rhs, int multiplicativeOperator)
          Returns a new XPath multiplicative expression.
 Step createNameStep(int axis, String prefix, String localName)
          Create a step with a named node-test.
 NumberExpr createNumberExpr(double number)
          Create a number expression.
 NumberExpr createNumberExpr(int number)
          Create a number expression.
 BinaryExpr createOrExpr(Expr lhs, Expr rhs)
          Returns a new XPath Or expression.
 PathExpr createPathExpr(FilterExpr filterExpr, LocationPath locationPath)
          Create a new path expression.
 Predicate createPredicate(Expr predicateExpr)
          Create from the supplied expression.
 PredicateSet createPredicateSet()
          Create an empty predicate set.
 Step createProcessingInstructionNodeStep(int axis, String piName)
          Create a step with a processing-instruction() node-test.
 BinaryExpr createRelationalExpr(Expr lhs, Expr rhs, int relationalOperator)
          Returns a new XPath relational expression.
 LocationPath createRelativeLocationPath()
          Create a new empty relative location path.
 Step createTextNodeStep(int axis)
          Create a step with a text() node-test.
 Expr createUnaryExpr(Expr expr, int unaryOperator)
          Returns a new XPath unary expression.
 UnionExpr createUnionExpr(Expr lhs, Expr rhs)
          Returns a new XPath union expression.
 VariableReferenceExpr createVariableReferenceExpr(String prefix, String variable)
          Create a new variable reference expression.
 XPathExpr createXPath(Expr rootExpr)
          Create a new XPathExpr from an Expr.
protected  IterableAxis getIterableAxis(int axis)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultXPathFactory

public DefaultXPathFactory()
Method Detail

createXPath

public XPathExpr createXPath(Expr rootExpr)
                      throws JaxenException
Description copied from interface: XPathFactory
Create a new XPathExpr from an Expr.

Specified by:
createXPath in interface XPathFactory
Parameters:
rootExpr - the expression wrapped by the resulting XPathExpr
Returns:
an XPathExpr wrapping the root expression
Throws:
JaxenException

createPathExpr

public PathExpr createPathExpr(FilterExpr filterExpr,
                               LocationPath locationPath)
                        throws JaxenException
Description copied from interface: XPathFactory
Create a new path expression.

Specified by:
createPathExpr in interface XPathFactory
Parameters:
filterExpr - the filter expression that starts the path expression
locationPath - the location path that follows the filter expression
Returns:
a path expression formed by concatenating the two arguments
Throws:
JaxenException

createRelativeLocationPath

public LocationPath createRelativeLocationPath()
                                        throws JaxenException
Description copied from interface: XPathFactory
Create a new empty relative location path.

Specified by:
createRelativeLocationPath in interface XPathFactory
Returns:
an empty relative location path
Throws:
JaxenException

createAbsoluteLocationPath

public LocationPath createAbsoluteLocationPath()
                                        throws JaxenException
Description copied from interface: XPathFactory
Create a new empty absolute location path.

Specified by:
createAbsoluteLocationPath in interface XPathFactory
Returns:
an empty absolute location path
Throws:
JaxenException

createOrExpr

public BinaryExpr createOrExpr(Expr lhs,
                               Expr rhs)
                        throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath Or expression.

Specified by:
createOrExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
Returns:
lhs or rhs
Throws:
JaxenException

createAndExpr

public BinaryExpr createAndExpr(Expr lhs,
                                Expr rhs)
                         throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath And expression.

Specified by:
createAndExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
Returns:
lhs and rhs
Throws:
JaxenException

createEqualityExpr

public BinaryExpr createEqualityExpr(Expr lhs,
                                     Expr rhs,
                                     int equalityOperator)
                              throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath equality expression.

Specified by:
createEqualityExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
equalityOperator - Operator.EQUALS or Operator.NOT_EQUALS
Returns:
lhs = rhs or lhs != rhs
Throws:
JaxenException - if the third argument is not Operator.EQUALS or Operator.NOT_EQUALS

createRelationalExpr

public BinaryExpr createRelationalExpr(Expr lhs,
                                       Expr rhs,
                                       int relationalOperator)
                                throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath relational expression.

Specified by:
createRelationalExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
relationalOperator - Operator.LESS_THAN, Operator.GREATER_THAN, Operator.LESS_THAN_EQUALS, or Operator.GREATER_THAN_EQUALS
Returns:
lhs relationalOperator rhs or lhs != rhs
Throws:
JaxenException - if the third argument is not a relational operator constant

createAdditiveExpr

public BinaryExpr createAdditiveExpr(Expr lhs,
                                     Expr rhs,
                                     int additiveOperator)
                              throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath additive expression.

Specified by:
createAdditiveExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
additiveOperator - Operator.ADD or Operator.SUBTRACT
Returns:
lhs + rhs or lhs - rhs
Throws:
JaxenException - if the third argument is not Operator.ADD or Operator.SUBTRACT

createMultiplicativeExpr

public BinaryExpr createMultiplicativeExpr(Expr lhs,
                                           Expr rhs,
                                           int multiplicativeOperator)
                                    throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath multiplicative expression.

Specified by:
createMultiplicativeExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
multiplicativeOperator - Operator.MULTIPLY, Operator.DIV, or Operator.MOD
Returns:
lhs * rhs, lhs div rhs, or lhs mod rhs
Throws:
JaxenException - if the third argument is not a multiplicative operator constant

createUnaryExpr

public Expr createUnaryExpr(Expr expr,
                            int unaryOperator)
                     throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath unary expression.

Specified by:
createUnaryExpr in interface XPathFactory
Parameters:
expr - the expression to be negated
unaryOperator - Operator.NEGATIVE
Returns:
- expr or expr
Throws:
JaxenException

createUnionExpr

public UnionExpr createUnionExpr(Expr lhs,
                                 Expr rhs)
                          throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath union expression.

Specified by:
createUnionExpr in interface XPathFactory
Parameters:
lhs - the left hand side of the expression
rhs - the right hand side of the expression
Returns:
lhs | rhs
Throws:
JaxenException

createFilterExpr

public FilterExpr createFilterExpr(Expr expr)
                            throws JaxenException
Description copied from interface: XPathFactory
Returns a new XPath filter expression.

Specified by:
createFilterExpr in interface XPathFactory
Parameters:
expr - the basic expression to which the predicate will be added
Returns:
the expression with an empty predicate set
Throws:
JaxenException

createFunctionCallExpr

public FunctionCallExpr createFunctionCallExpr(String prefix,
                                               String functionName)
                                        throws JaxenException
Description copied from interface: XPathFactory
Create a new function call expression.

Specified by:
createFunctionCallExpr in interface XPathFactory
Parameters:
prefix - the namespace prefix of the function
functionName - the local name of the function
Returns:
a function with an empty argument list
Throws:
JaxenException

createNumberExpr

public NumberExpr createNumberExpr(int number)
                            throws JaxenException
Description copied from interface: XPathFactory
Create a number expression.

Specified by:
createNumberExpr in interface XPathFactory
Parameters:
number - the value
Returns:
a number expression wrapping that value
Throws:
JaxenException

createNumberExpr

public NumberExpr createNumberExpr(double number)
                            throws JaxenException
Description copied from interface: XPathFactory
Create a number expression.

Specified by:
createNumberExpr in interface XPathFactory
Parameters:
number - the value
Returns:
a number expression wrapping that value
Throws:
JaxenException

createLiteralExpr

public LiteralExpr createLiteralExpr(String literal)
                              throws JaxenException
Description copied from interface: XPathFactory
Create a string literal expression.

Specified by:
createLiteralExpr in interface XPathFactory
Parameters:
literal - the value
Returns:
a literal expression wrapping that value
Throws:
JaxenException

createVariableReferenceExpr

public VariableReferenceExpr createVariableReferenceExpr(String prefix,
                                                         String variable)
                                                  throws JaxenException
Description copied from interface: XPathFactory
Create a new variable reference expression.

Specified by:
createVariableReferenceExpr in interface XPathFactory
Parameters:
prefix - the namespace prefix of the variable
variable - the local name of the variable
Returns:
a variable expression
Throws:
JaxenException

createNameStep

public Step createNameStep(int axis,
                           String prefix,
                           String localName)
                    throws JaxenException
Description copied from interface: XPathFactory
Create a step with a named node-test.

Specified by:
createNameStep in interface XPathFactory
Parameters:
axis - the axis to create the name-test on
prefix - the namespace prefix for the test
localName - the local name for the test
Returns:
a name step
Throws:
JaxenException - if axis is not one of the axis constants????

createTextNodeStep

public Step createTextNodeStep(int axis)
                        throws JaxenException
Description copied from interface: XPathFactory
Create a step with a text() node-test.

Specified by:
createTextNodeStep in interface XPathFactory
Parameters:
axis - the axis to create the text() node-test on
Returns:
a text node step
Throws:
JaxenException - if axis is not one of the axis constants????

createCommentNodeStep

public Step createCommentNodeStep(int axis)
                           throws JaxenException
Description copied from interface: XPathFactory
Create a step with a comment() node-test.

Specified by:
createCommentNodeStep in interface XPathFactory
Parameters:
axis - the axis to create the comment() node-test on
Returns:
a comment node step
Throws:
JaxenException - if axis is not one of the axis constants????

createAllNodeStep

public Step createAllNodeStep(int axis)
                       throws JaxenException
Description copied from interface: XPathFactory
Create a step with a node() node-test.

Specified by:
createAllNodeStep in interface XPathFactory
Parameters:
axis - the axis to create the node-test on
Returns:
an all node step
Throws:
JaxenException - if axis is not one of the axis constants????

createProcessingInstructionNodeStep

public Step createProcessingInstructionNodeStep(int axis,
                                                String piName)
                                         throws JaxenException
Description copied from interface: XPathFactory
Create a step with a processing-instruction() node-test.

Specified by:
createProcessingInstructionNodeStep in interface XPathFactory
Parameters:
axis - the axis to create the processing-instruction() node-test on
piName - the target to match, may be empty
Returns:
a processing instruction node step
Throws:
JaxenException - if axis is not one of the axis constants????

createPredicate

public Predicate createPredicate(Expr predicateExpr)
                          throws JaxenException
Description copied from interface: XPathFactory
Create from the supplied expression.

Specified by:
createPredicate in interface XPathFactory
Parameters:
predicateExpr - the expression to evaluate in the predicate
Returns:
a predicate
Throws:
JaxenException

getIterableAxis

protected IterableAxis getIterableAxis(int axis)
                                throws JaxenException
Throws:
JaxenException

createPredicateSet

public PredicateSet createPredicateSet()
                                throws JaxenException
Description copied from interface: XPathFactory
Create an empty predicate set.

Specified by:
createPredicateSet in interface XPathFactory
Returns:
an empty predicate set
Throws:
JaxenException


Copyright © 2001-2008 Codehaus. All Rights Reserved.