plp.orientadaAspectos1.declaracao.variavel
Class DecVariavelObjeto

java.lang.Object
  extended by plp.orientadaAspectos1.declaracao.variavel.DecVariavelObjeto
All Implemented Interfaces:
Declaracao, DecVariavel

public class DecVariavelObjeto
extends java.lang.Object
implements DecVariavel

Classe que representa a declaraçao de uma variável do tipo objeto.


Constructor Summary
DecVariavelObjeto(Tipo tipo, Id objeto, Id classe)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se o tipo da classe associada é válido (se existe).
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para o objeto no ambiente de execução.
 Tipo getTipo(Id id)
          Retorna o tipo do identificador a ser declarado no AmbienteCompilacao
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecVariavelObjeto

public DecVariavelObjeto(Tipo tipo,
                         Id objeto,
                         Id classe)
Construtor.

Parameters:
tipo - Tipo declarado da variável.
objeto - Identificador do objeto.
classe - Classe da qual objeto é uma instância.
Method Detail

getTipo

public Tipo getTipo(Id id)
             throws VariavelNaoDeclaradaException
Retorna o tipo do identificador a ser declarado no AmbienteCompilacao

Specified by:
getTipo in interface DecVariavel
Parameters:
id - o identificador da declaracao
Returns:
o tipo do identificador
Throws:
VariavelNaoDeclaradaException

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                ObjetoNaoDeclaradoException,
                                ObjetoJaDeclaradoException,
                                ProcedimentoNaoDeclaradoException,
                                ProcedimentoJaDeclaradoException,
                                EntradaInvalidaException,
                                PointcutNaoDeclaradoException,
                                UnsuporttedAdviceAroundForAccessAttributeException
Cria um mapeamento do identificador para o objeto no ambiente de execução.

Specified by:
elabora in interface Declaracao
Specified by:
elabora in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela inicialização da variável.
Throws:
UnsuporttedAdviceAroundForAccessAttributeException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ObjetoNaoDeclaradoException
ObjetoJaDeclaradoException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException
EntradaInvalidaException
PointcutNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelJaDeclaradaException,
                         VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException
Verifica se o tipo da classe associada é válido (se existe).

Specified by:
checaTipo in interface Declaracao
Specified by:
checaTipo in interface DecVariavel
Parameters:
ambiente - o ambiente que contem o mapeamento entre objetos e suas classes.
Returns:
true a classe existe false caso contrario.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException