org.jclarion.clarion.runtime.expr
Class ConcatExpr

java.lang.Object
  extended by org.jclarion.clarion.runtime.expr.CExpr
      extended by org.jclarion.clarion.runtime.expr.ConcatExpr

public class ConcatExpr
extends CExpr


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jclarion.clarion.runtime.expr.CExpr
CExpr.DeepIterator, CExpr.GenericOp, CExpr.JoinIterator, CExpr.OneIterator, CExpr.OpIterable, CExpr.OpIterator, CExpr.TwoIterator, CExpr.ZeroIterator
 
Constructor Summary
ConcatExpr(CExpr left)
           
 
Method Summary
 void add(CExpr right)
           
 void cast(CExprType type)
          Force expr type to a new cast
static CExpr construct(CExpr left, CExpr right)
           
 java.util.Iterator<CExpr> directChildren()
           
 ClarionObject eval()
          Generate result
 boolean generateString(java.lang.StringBuilder out, boolean strict)
          Strictly speaking - SQL yielded will not be equivalent to runtime evaluation = because of ClarionString insistance on being padded to its memory defined length.
 CExprType getType()
          Work out expression type
 boolean isRecastableType()
          Return whether or not expression type is fixed.
 int precendence()
          Return order of precendence.
 
Methods inherited from class org.jclarion.clarion.runtime.expr.CExpr
cast, isRecastableType, iterator, resolveCasts
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConcatExpr

public ConcatExpr(CExpr left)
Method Detail

construct

public static CExpr construct(CExpr left,
                              CExpr right)

add

public void add(CExpr right)

eval

public ClarionObject eval()
Description copied from class: CExpr
Generate result

Specified by:
eval in class CExpr
Returns:

precendence

public int precendence()
Description copied from class: CExpr
Return order of precendence. Low number = low order of precedence (i.e. bool etc) Hi number = high order of precendence (i.e. * % / etc ). Highest is constants When rebuilding expressions (i.e. SQL) you need to paran anything whose precendence is lower then yourself i.e. Sum(Prod,Prod) = 2*3 + 6*3 Prod(Sum,Sum) = (2+3) * (6+3)

Specified by:
precendence in class CExpr

directChildren

public java.util.Iterator<CExpr> directChildren()
Specified by:
directChildren in class CExpr

generateString

public boolean generateString(java.lang.StringBuilder out,
                              boolean strict)
Strictly speaking - SQL yielded will not be equivalent to runtime evaluation = because of ClarionString insistance on being padded to its memory defined length. Oh - well - soldier on...

Specified by:
generateString in class CExpr

cast

public void cast(CExprType type)
Description copied from class: CExpr
Force expr type to a new cast

Specified by:
cast in class CExpr

getType

public CExprType getType()
Description copied from class: CExpr
Work out expression type

Specified by:
getType in class CExpr
Returns:

isRecastableType

public boolean isRecastableType()
Description copied from class: CExpr
Return whether or not expression type is fixed. i.e. cannot be easily recast

Specified by:
isRecastableType in class CExpr


Copyright © 2010. All Rights Reserved.