org.exist.xpath
Class BinaryOp

java.lang.Object
  extended byorg.exist.xpath.PathExpr
      extended byorg.exist.xpath.BinaryOp
All Implemented Interfaces:
Expression
Direct Known Subclasses:
OpAnd, OpEquals, OpNumeric, OpOr

public abstract class BinaryOp
extends PathExpr


Field Summary
 
Fields inherited from class org.exist.xpath.PathExpr
docs, inPredicate, keepVirtual, LOG, pool, steps
 
Constructor Summary
BinaryOp(BrokerPool pool)
           
 
Method Summary
abstract  Value eval(DocumentSet docs, NodeSet context, NodeProxy node)
          Evaluate the expression represented by this object.
 Expression getLeft()
           
 Expression getRight()
           
abstract  java.lang.String pprint()
          Return a readable representation of this expression.
abstract  DocumentSet preselect(DocumentSet in_docs)
          Determine the documents, taken from in_docs, for which this expression will possibly yield a result.
 int returnsType()
          The type of value, this expression returns.
 
Methods inherited from class org.exist.xpath.PathExpr
add, add, addDocument, addPath, addPredicate, getDocumentSet, getExpression, getLength, preselect, setDocumentSet, setFirstExpression, setInPredicate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryOp

public BinaryOp(BrokerPool pool)
Method Detail

returnsType

public int returnsType()
Description copied from interface: Expression
The type of value, this expression returns. Depending on the type of expression, this method should return one of the constants defined in class Constants, e.g. TYPE_NODELIST, TYPE_STRING, TYPE_NUM, TYPE_BOOL.

Specified by:
returnsType in interface Expression
Overrides:
returnsType in class PathExpr

getLeft

public Expression getLeft()

getRight

public Expression getRight()

preselect

public abstract DocumentSet preselect(DocumentSet in_docs)
Description copied from interface: Expression
Determine the documents, taken from in_docs, for which this expression will possibly yield a result. An expression does not have to do anything here. It may simply return in_docs. This method is used to restrict the range of documents in question for a given xpath-expression. It is called before the xpath-expression is actually executed.

Specified by:
preselect in interface Expression
Overrides:
preselect in class PathExpr

eval

public abstract Value eval(DocumentSet docs,
                           NodeSet context,
                           NodeProxy node)
Description copied from interface: Expression
Evaluate the expression represented by this object. Depending on the context in which this expression is executed, either context, node or both of them may be set. An implementing class should know how to handle this. Most classes only expect context to contain a list of nodes which represents the current context of this expression.

Specified by:
eval in interface Expression
Overrides:
eval in class PathExpr

pprint

public abstract java.lang.String pprint()
Description copied from interface: Expression
Return a readable representation of this expression. This method is called whenever the xpath-query should be displayed to the user.

Specified by:
pprint in interface Expression
Overrides:
pprint in class PathExpr


Copyright (C) Wolfgang Meier. All rights reserved.