jpel.language
Class ExpressionIfThenElse

java.lang.Object
  |
  +--jpel.language.AbstractExpression
        |
        +--jpel.language.ExpressionIfThenElse
All Implemented Interfaces:
Expression, java.io.Serializable

public class ExpressionIfThenElse
extends AbstractExpression

Representa o operador condicional da linguagem.

Syntax:
if(condition) then thenExpression1 else elseExpression
Exemplo:
if ( x < 0 ) then "Numero negativo!" else "Numero positivo!".

See Also:
Serialized Form

Constructor Summary
ExpressionIfThenElse(jpel.language.Expression condition, jpel.language.Expression thenExpression, jpel.language.Expression elseExpression)
           
 
Method Summary
 boolean equivalent(jpel.language.Expression expression)
          Indica se uma expressão pode ser considerada equivalente à outra.
 jpel.language.Expression eval(jpel.language.Environment environment)
          Executa uma expressão de acordo com o ambiente definido.
 void freeVariable(jpel.language.ExpressionList list)
          Guarda as variáveis livres da expressão em uma lista.
 jpel.language.Expression getCondition()
           
 jpel.language.Expression getElseExpression()
           
 jpel.language.Expression getThenExpression()
           
 jpel.language.Expression rebuild(jpel.language.MapReplace map)
          Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.
 void setCondition(jpel.language.Expression newCondition)
           
 void setElseExpression(jpel.language.Expression newElseExpression)
           
 void setThenExpression(jpel.language.Expression newThenExpression)
           
 java.lang.String toString()
           
 
Methods inherited from class jpel.language.AbstractExpression
createClone, getData, getData, getSource, getType, setData, setSource, setType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExpressionIfThenElse

public ExpressionIfThenElse(jpel.language.Expression condition,
                            jpel.language.Expression thenExpression,
                            jpel.language.Expression elseExpression)
Method Detail

getCondition

public jpel.language.Expression getCondition()

setCondition

public void setCondition(jpel.language.Expression newCondition)

setThenExpression

public void setThenExpression(jpel.language.Expression newThenExpression)

getThenExpression

public jpel.language.Expression getThenExpression()

setElseExpression

public void setElseExpression(jpel.language.Expression newElseExpression)

getElseExpression

public jpel.language.Expression getElseExpression()

freeVariable

public void freeVariable(jpel.language.ExpressionList list)
Description copied from interface: Expression
Guarda as variáveis livres da expressão em uma lista.

Parameters:
list - A lista onde as variáveis livres vão ser inseridas.

rebuild

public jpel.language.Expression rebuild(jpel.language.MapReplace map)
Description copied from interface: Expression
Permite que sub-expressões sejam substibuídas por outras, de acordo com o mapeamento dado.

Parameters:
map - O mapeamento que guarda as substituições.
Returns:
Uma nova expressão com as devidas substituições.

eval

public jpel.language.Expression eval(jpel.language.Environment environment)
                              throws ExecutionException
Description copied from interface: Expression
Executa uma expressão de acordo com o ambiente definido.

Parameters:
environment - Ambiente no qual a expressão deve ser executada.
Returns:
A expressão avaliada.
Throws:
ExecutionException - Quando os tipos necessários para a correta avaliação da expressão não são respeitados.

equivalent

public boolean equivalent(jpel.language.Expression expression)
Description copied from interface: Expression
Indica se uma expressão pode ser considerada equivalente à outra.

Specified by:
equivalent in interface Expression
Overrides:
equivalent in class AbstractExpression
Parameters:
expression - Expressão ao qual se deseja verificar a equivalência.
Returns:
true, caso as expressões possam ser consideradas equivalentes, false, caso contrário.

toString

public java.lang.String toString()
Overrides:
toString in class AbstractExpression