org.concord.util.script
Class IfThenElseStatement

java.lang.Object
  |
  +--org.concord.util.script.ScriptObject
        |
        +--org.concord.util.script.Statement
              |
              +--org.concord.util.script.IfThenElseStatement
All Implemented Interfaces:
java.beans.BeanInfo

public class IfThenElseStatement
extends Statement

The IfThenElseStatement implements conventional if-then-else semantics.

Version:
$Revision: 1.1.1.1 $ $Date: 2001/04/28 00:39:30 $
Author:
$Author: ed $

Field Summary
protected  java.util.Stack elseIfExpressions
           
protected  java.util.Stack elseIfStatements
           
protected  Statement elseStatement
           
protected  Expression ifExpression
           
protected  Statement ifStatement
           
 
Fields inherited from class org.concord.util.script.Statement
empty
 
Fields inherited from class org.concord.util.script.ScriptObject
beginColumn, beginLine, debug, deleted, doConversion, endColumn, endLine, name, nil, runtimeTable, script
 
Fields inherited from interface java.beans.BeanInfo
ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, ICON_MONO_32x32
 
Constructor Summary
IfThenElseStatement()
           
 
Method Summary
 void addElseIfExpression(Expression expr)
           
 void addElseIfStatement(Statement statement)
           
 void delete()
           
 Statement getElseStatement()
           
 Expression getIfExpression()
           
 Statement getIfStatement()
           
 void interpret()
          The interpret method implements conventional if-then-else-semantics.
 boolean removeElseIfExpression(Expression expr)
           
 boolean removeElseIfStatement(Statement statement)
           
 void setElseStatement(Statement statement)
           
 void setIfExpression(Expression expr)
           
 void setIfStatement(Statement statement)
           
 
Methods inherited from class org.concord.util.script.Statement
getLocals
 
Methods inherited from class org.concord.util.script.ScriptObject
findConstructor, findMethod, getAdditionalBeanInfo, getArrayValue, getAtom, getBeanDescriptor, getCurrentFrame, getDefaultEventIndex, getDefaultPropertyIndex, getEventSetDescriptors, getField, getFieldValue, getIcon, getMethodDescriptors, getName, getPropertyDescriptors, getScript, popFrame, pushFrame, setArrayValue, setCurrentFrame, setFieldValue, setName, setScript, setSourceBounds
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ifExpression

protected Expression ifExpression

ifStatement

protected Statement ifStatement

elseIfExpressions

protected java.util.Stack elseIfExpressions

elseIfStatements

protected java.util.Stack elseIfStatements

elseStatement

protected Statement elseStatement
Constructor Detail

IfThenElseStatement

public IfThenElseStatement()
Method Detail

delete

public void delete()
Overrides:
delete in class ScriptObject

setIfExpression

public void setIfExpression(Expression expr)

setIfStatement

public void setIfStatement(Statement statement)

addElseIfExpression

public void addElseIfExpression(Expression expr)

addElseIfStatement

public void addElseIfStatement(Statement statement)

setElseStatement

public void setElseStatement(Statement statement)

getIfExpression

public Expression getIfExpression()

getIfStatement

public Statement getIfStatement()

removeElseIfExpression

public boolean removeElseIfExpression(Expression expr)

removeElseIfStatement

public boolean removeElseIfStatement(Statement statement)

getElseStatement

public Statement getElseStatement()

interpret

public void interpret()
The interpret method implements conventional if-then-else-semantics. The ifExpression is the first boolean test expression and each subsequent else-if branch has its own boolean expression as well. The ifStatement is the statement interpreted if the ifExpression is true, otherwise it successively interprets each elseIfExpression until one yields true. It interprets the elseStatement if all other boolean expressions yield false.
Overrides:
interpret in class Statement