net.sf.saffron.rex
Class RexNode

java.lang.Object
  |
  +--net.sf.saffron.rex.RexNode
Direct Known Subclasses:
InternalTranslator.RexQuery, JavaRowExpression, RexCall, RexFieldAccess, RexList, RexLiteral, RexRangeRef, RexVariable

public abstract class RexNode
extends Object

Row expression.

Every row-expression has a type. (Compare with SqlNode, which is created before validation, and therefore types may not be available.)

Some common row-expressions are: RexLiteral (constant value), RexVariable (variable), RexCall (call to operator with operands). Expressions are generally created using a RexBuilder factory.

Since:
Nov 22, 2003
Version:
$Id: $
Author:
jhyde

Field Summary
protected  String digest
           
 
Constructor Summary
RexNode()
           
 
Method Summary
abstract  Object clone()
           
 RexKind getKind()
          Returns the kind of node this is.
abstract  SaffronType getType()
           
 boolean isA(RexKind kind)
           
 boolean isAlwaysTrue()
          Returns whether this expression always returns true.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

digest

protected String digest
Constructor Detail

RexNode

public RexNode()
Method Detail

getType

public abstract SaffronType getType()

clone

public abstract Object clone()
Overrides:
clone in class Object

isAlwaysTrue

public boolean isAlwaysTrue()
Returns whether this expression always returns true. (Such as if this expression is equal to the literal TRUE.)


isA

public boolean isA(RexKind kind)

getKind

public RexKind getKind()
Returns the kind of node this is.

Returns:
A RexKind value, never null
Post-condition:
return != null

toString

public String toString()
Overrides:
toString in class Object

SourceForge.net_Logo