org.apache.commons.jxpath.ri.compiler
Class CoreOperation

java.lang.Object
  |
  +--org.apache.commons.jxpath.ri.compiler.Expression
        |
        +--org.apache.commons.jxpath.ri.compiler.Operation
              |
              +--org.apache.commons.jxpath.ri.compiler.CoreOperation
Direct Known Subclasses:
NameAttributeTest

public class CoreOperation
extends Operation

A compile tree element representing one of the core operations like "+", "-", "*" etc.

Version:
$Revision: 1.5 $ $Date: 2002/05/08 00:39:59 $
Author:
Dmitri Plotnikov

Nested Class Summary
 
Nested classes inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
 
Field Summary
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Operation
args
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NaN, ONE, OP_AND, OP_CONSTANT, OP_CORE_FUNCTION, OP_DIV, OP_EQ, OP_EXPRESSION_PATH, OP_FUNCTION, OP_GT, OP_GTE, OP_KEY_LOOKUP, OP_LOCATION_PATH, OP_LT, OP_LTE, OP_MINUS, OP_MOD, OP_MULT, OP_NE, OP_OR, OP_STEP, OP_SUM, OP_UNARY_MINUS, OP_UNION, OP_VAR, ZERO
 
Constructor Summary
CoreOperation(int code, Expression arg)
           
CoreOperation(int code, Expression[] args)
           
CoreOperation(int code, Expression arg1, Expression arg2)
           
 
Method Summary
protected  java.lang.Object and(EvalContext context, Expression[] arguments)
          Computes "left and right"
 java.lang.Object compute(EvalContext context)
           
 java.lang.Object computeValue(EvalContext context)
          Evaluates the expression.
protected  java.lang.Object div(EvalContext context, Expression left, Expression right)
          Computes "left div right"
protected  java.lang.Object eq(EvalContext context, Expression left, Expression right)
          Computes "left = right"
protected  boolean equal(EvalContext context, Expression left, Expression right)
          Compares two values
 Expression getArg1()
           
 Expression getArg2()
           
protected  java.lang.Object gt(EvalContext context, Expression left, Expression right)
          Computes "left > right"
protected  java.lang.Object gte(EvalContext context, Expression left, Expression right)
          Computes "left >= right"
protected  java.lang.Object lt(EvalContext context, Expression left, Expression right)
          Computes "left < right"
protected  java.lang.Object lte(EvalContext context, Expression left, Expression right)
          Computes "left <= right"
protected  java.lang.Object minus(EvalContext context, Expression arg)
          Computes "-arg"
protected  java.lang.Object minus(EvalContext context, Expression left, Expression right)
          Computes "left - right"
protected  java.lang.Object mod(EvalContext context, Expression left, Expression right)
          Computes "left mod right"
protected  java.lang.Object mult(EvalContext context, Expression left, Expression right)
          Computes "left * right"
protected  java.lang.Object ne(EvalContext context, Expression left, Expression right)
          Computes "left != right"
protected  java.lang.Object or(EvalContext context, Expression[] arguments)
          Computes "left or right"
protected  java.lang.Object sum(EvalContext context, Expression[] arguments)
          Computes "a + b + c + d"
protected  java.lang.Object union(EvalContext context, Expression left, Expression right)
          Computes "left | right"
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Operation
computeContextDependent, getArguments
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
getExpressionTypeCode, isContextDependent, iterate, iteratePointers, opCodeToString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CoreOperation

public CoreOperation(int code,
                     Expression[] args)

CoreOperation

public CoreOperation(int code,
                     Expression arg)

CoreOperation

public CoreOperation(int code,
                     Expression arg1,
                     Expression arg2)
Method Detail

getArg1

public Expression getArg1()

getArg2

public Expression getArg2()

compute

public java.lang.Object compute(EvalContext context)
Specified by:
compute in class Expression

computeValue

public java.lang.Object computeValue(EvalContext context)
Description copied from class: Expression
Evaluates the expression. If the result is a node set, returns the first element of the node set.

Specified by:
computeValue in class Expression

union

protected java.lang.Object union(EvalContext context,
                                 Expression left,
                                 Expression right)
Computes "left | right"


minus

protected java.lang.Object minus(EvalContext context,
                                 Expression arg)
Computes "-arg"


sum

protected java.lang.Object sum(EvalContext context,
                               Expression[] arguments)
Computes "a + b + c + d"


minus

protected java.lang.Object minus(EvalContext context,
                                 Expression left,
                                 Expression right)
Computes "left - right"


div

protected java.lang.Object div(EvalContext context,
                               Expression left,
                               Expression right)
Computes "left div right"


mult

protected java.lang.Object mult(EvalContext context,
                                Expression left,
                                Expression right)
Computes "left * right"


mod

protected java.lang.Object mod(EvalContext context,
                               Expression left,
                               Expression right)
Computes "left mod right"


lt

protected java.lang.Object lt(EvalContext context,
                              Expression left,
                              Expression right)
Computes "left < right"


gt

protected java.lang.Object gt(EvalContext context,
                              Expression left,
                              Expression right)
Computes "left > right"


lte

protected java.lang.Object lte(EvalContext context,
                               Expression left,
                               Expression right)
Computes "left <= right"


gte

protected java.lang.Object gte(EvalContext context,
                               Expression left,
                               Expression right)
Computes "left >= right"


eq

protected java.lang.Object eq(EvalContext context,
                              Expression left,
                              Expression right)
Computes "left = right"


ne

protected java.lang.Object ne(EvalContext context,
                              Expression left,
                              Expression right)
Computes "left != right"


equal

protected boolean equal(EvalContext context,
                        Expression left,
                        Expression right)
Compares two values


and

protected java.lang.Object and(EvalContext context,
                               Expression[] arguments)
Computes "left and right"


or

protected java.lang.Object or(EvalContext context,
                              Expression[] arguments)
Computes "left or right"



Copyright (c) 2001 - Apache Software Foundation