plp.orientadaAspectos1.comando
Class IfThenElse

java.lang.Object
  extended by plp.orientadaAspectos1.comando.IfThenElse
All Implemented Interfaces:
Comando

public class IfThenElse
extends java.lang.Object
implements Comando

Classe que representa o comando If Then Else


Constructor Summary
IfThenElse(Expressao expressao, Comando comandoThen, Comando comandoElse)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Realiza a verificacao de tipos da expressão e dos comandos do comando if then else
 AmbienteExecucao executar(AmbienteExecucao ambiente)
          Implementa o comando if then else.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IfThenElse

public IfThenElse(Expressao expressao,
                  Comando comandoThen,
                  Comando comandoElse)
Construtor.

Parameters:
expressao - Expressão de avaliação.
comandoThen - Comando executado caso a expressão seja verdadeira.
comandoElse - Comando executado caso a expressão seja falsa.
Method Detail

executar

public AmbienteExecucao executar(AmbienteExecucao ambiente)
                          throws VariavelJaDeclaradaException,
                                 VariavelNaoDeclaradaException,
                                 ProcedimentoNaoDeclaradoException,
                                 ProcedimentoJaDeclaradoException,
                                 ClasseJaDeclaradaException,
                                 ClasseNaoDeclaradaException,
                                 ObjetoJaDeclaradoException,
                                 ObjetoNaoDeclaradoException,
                                 EntradaInvalidaException,
                                 PointcutNaoDeclaradoException,
                                 UnsuporttedAdviceAroundForAccessAttributeException
Implementa o comando if then else.

Specified by:
executar in interface Comando
Parameters:
ambiente - o ambiente de execução.
Returns:
o ambiente depois de modificado pela execução do comando if then else.
Throws:
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoJaDeclaradoException
ObjetoNaoDeclaradoException
EntradaInvalidaException
PointcutNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelNaoDeclaradaException,
                         VariavelJaDeclaradaException,
                         ProcedimentoNaoDeclaradoException,
                         ProcedimentoJaDeclaradoException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException
Realiza a verificacao de tipos da expressão e dos comandos do comando if then else

Specified by:
checaTipo in interface Comando
Parameters:
ambiente - o ambiente de compilação.
Returns:
true se a expressão e os comando são bem tipados; false caso contrario.
Throws:
VariavelNaoDeclaradaException
VariavelJaDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException