plp.orientadaAspectos1.declaracao.aspecto
Class DecAspecto

java.lang.Object
  extended by plp.orientadaAspectos1.declaracao.aspecto.DecAspecto
All Implemented Interfaces:
DecElemento, Declaracao

public class DecAspecto
extends java.lang.Object
implements DecElemento

Classe que representa a declaração de um aspecto.


Constructor Summary
DecAspecto(Id nomeAspecto, DecIntroducao introducoes, DecPointcut pointcuts, DecAdvice advices)
          Construtor.
DecAspecto(Id nomeAspecto, DecPointcut pointcuts, DecAdvice advices)
          Construtor.
 
Method Summary
 boolean checaTipo(AmbienteCompilacao ambiente)
          Verifica se a declaração está bem tipada, ou seja, se a checagem dos tipos dos métodos e atributos está ok.
 AmbienteExecucao elabora(AmbienteExecucao ambiente)
          Cria um mapeamento do identificador para a declaração desta classe.
 Id getId()
          Obtém o Identificador do aspecto.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecAspecto

public DecAspecto(Id nomeAspecto,
                  DecIntroducao introducoes,
                  DecPointcut pointcuts,
                  DecAdvice advices)
Construtor.

Parameters:
nomeAspecto - Identificador do nome do aspecto.
introducoes - Introduções do aspecto.
pointcuts - Pointcuts do Aspecto.
advices - Advices do aspecto.

DecAspecto

public DecAspecto(Id nomeAspecto,
                  DecPointcut pointcuts,
                  DecAdvice advices)
Construtor.

Parameters:
nomeAspecto - Identificador do nome do aspecto.
pointcuts - Pointcuts do Aspecto.
advices - Advices do aspecto.
Method Detail

getId

public Id getId()
Obtém o Identificador do aspecto.

Returns:
O Identificador do aspecto.

elabora

public AmbienteExecucao elabora(AmbienteExecucao ambiente)
                         throws ClasseJaDeclaradaException,
                                ClasseNaoDeclaradaException,
                                VariavelJaDeclaradaException,
                                VariavelNaoDeclaradaException,
                                ObjetoNaoDeclaradoException,
                                ObjetoJaDeclaradoException,
                                PointcutNaoDeclaradoException
Cria um mapeamento do identificador para a declaração desta classe.

Specified by:
elabora in interface DecElemento
Specified by:
elabora in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e valores.
Returns:
o ambiente modificado pela declaração da classe.
Throws:
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ObjetoNaoDeclaradoException
ObjetoJaDeclaradoException
PointcutNaoDeclaradoException

checaTipo

public boolean checaTipo(AmbienteCompilacao ambiente)
                  throws VariavelJaDeclaradaException,
                         VariavelNaoDeclaradaException,
                         ClasseJaDeclaradaException,
                         ClasseNaoDeclaradaException,
                         ProcedimentoNaoDeclaradoException,
                         ProcedimentoJaDeclaradoException
Verifica se a declaração está bem tipada, ou seja, se a checagem dos tipos dos métodos e atributos está ok.

Specified by:
checaTipo in interface DecElemento
Specified by:
checaTipo in interface Declaracao
Parameters:
ambiente - o ambiente que contem o mapeamento entre identificadores e seus tipos.
Returns:
true se os tipos da declaração são válidos; false caso contrario.
Throws:
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
ClasseJaDeclaradaException
ClasseNaoDeclaradaException
ProcedimentoNaoDeclaradoException
ProcedimentoJaDeclaradoException