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
digest
protected String digest
RexNode
public RexNode()
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