plp.orientadaAspectos1.memoria
Interface AmbienteExecucao

All Superinterfaces:
Ambiente
All Known Implementing Classes:
ContextoExecucao

public interface AmbienteExecucao
extends Ambiente

Classe que representa um ambiente de execução, contendo om mapeamento entre identificadores e valores.


Method Summary
 void addAdviceAfter(Id pointcutId, Advice advice)
          Adiciona um advice after na memoria.
 void addAdviceAround(Id pointcutId, Advice advice)
          Adiciona um advice Around na memoria.
 void addAdviceBefore(Id pointcutId, Advice advice)
          Adiciona um advice before na memoria.
 void addPointcut(Pointcut pointcut)
          Adiciona um pointcut na memoria.
 void changeValor(Id idArg, Valor valorId)
          Altera o valor associado a um identificador.
 AdviceGroup getAdvices(Interceptavel interceptavel)
          Retorna todos os advices relacionados ao comando especificado
 ContextoExecucao getContextoIdValor()
          Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.
 DefClasse getDefClasse(Id idArg)
          Obtém a definição da classe cujo nome é idArg
 ListaValor getEntrada()
          Obtém a entrada.
 GerenciadorAspectos getGerAspectos()
          Obtém o gerenciador de aspectos.
 Objeto getObjeto(ValorRef valorRef)
          Obtém o objeto associado a um dado valor referencia.
 StackHashIdValor getPilha()
          Obtém a pilha de valores associados a identificadores
 StackHashIdDefClasse getPilhaDefClasse()
          Retorna a pilha com as definiçoes das classes.
 StackDefinicaoJoinPoint getPilhaJoinPoints()
          Obtém a pilha de definições dos métodos chamados.
 StackHashValorObjeto getPilhaObjeto()
          Obtém a pilha com os objetos e seus valores.
 ValorRef getProxRef()
          Obtém a próxima referência de acordo com o contexto atual de execução.
 ValorRef getRef()
          Obtém o valor referencia atual.
 ListaValor getSaida()
          Obtém a saída.
 Valor getValor(Id idArg)
          Obtém o valor associado a um determinado identificador.
 void mapDefClasse(Id idArg, DefClasse defClasse)
          Mapeia um identificador a um definição de classe.
 void mapObjeto(ValorRef valorRef, Objeto objeto)
          Mapeia um valor referência a um objeto.
 void mapValor(Id idArg, Valor valorId)
          Mapeia um identificador a um valor.
 DefinicaoJoinPoint popDefinicaoJoinPoint()
          Desempilha uma definição de um join point.
 void pushDefinicaoJoinPoint(DefinicaoJoinPoint djp)
          Adiciona a definição de um join point na pilha de definições de join points.
 Valor read(Tipo tipoIdLido)
          Lê da entrada padrão e associa o conteúdo a um determinado identificador.
 AmbienteExecucao write(Valor v)
          Escreve um valor 'v' na saída.
 
Methods inherited from interface plp.orientadaAspectos1.memoria.Ambiente
incrementa, restaura
 

Method Detail

getPilhaJoinPoints

StackDefinicaoJoinPoint getPilhaJoinPoints()
Obtém a pilha de definições dos métodos chamados.

Returns:
pilha de definições dos métodos chamados.

pushDefinicaoJoinPoint

void pushDefinicaoJoinPoint(DefinicaoJoinPoint djp)
Adiciona a definição de um join point na pilha de definições de join points.


popDefinicaoJoinPoint

DefinicaoJoinPoint popDefinicaoJoinPoint()
Desempilha uma definição de um join point.


getGerAspectos

GerenciadorAspectos getGerAspectos()
Obtém o gerenciador de aspectos.

Returns:
Gerenciador de aspectos.

getPilha

StackHashIdValor getPilha()
Obtém a pilha de valores associados a identificadores

Returns:
a pilha de valores associados a identificadores.

getPilhaDefClasse

StackHashIdDefClasse getPilhaDefClasse()
Retorna a pilha com as definiçoes das classes.

Returns:
a pilha com as definiçoes das classes.

getPilhaObjeto

StackHashValorObjeto getPilhaObjeto()
Obtém a pilha com os objetos e seus valores.

Returns:
a pilha com os objetos e seus valores.

mapValor

void mapValor(Id idArg,
              Valor valorId)
              throws VariavelJaDeclaradaException
Mapeia um identificador a um valor.

Parameters:
idArg - Identificador.
valorId - Valor que vai ser associado ao identificador.
Throws:
VariavelJaDeclaradaException - Quando a variável já foi declarada.

addPointcut

void addPointcut(Pointcut pointcut)
Adiciona um pointcut na memoria.

Parameters:
aspecto - Aspecto a ser adicionado.

addAdviceBefore

void addAdviceBefore(Id pointcutId,
                     Advice advice)
                     throws PointcutNaoDeclaradoException
Adiciona um advice before na memoria.

Parameters:
id - O identificador do pointcut
aspecto - Aspecto a ser adicionado.
Throws:
PointcutNaoDeclaradoException

addAdviceAround

void addAdviceAround(Id pointcutId,
                     Advice advice)
                     throws PointcutNaoDeclaradoException
Adiciona um advice Around na memoria.

Parameters:
id - O identificador do pointcut
aspecto - Aspecto a ser adicionado.
Throws:
PointcutNaoDeclaradoException

addAdviceAfter

void addAdviceAfter(Id pointcutId,
                    Advice advice)
                    throws PointcutNaoDeclaradoException
Adiciona um advice after na memoria.

Parameters:
id - O identificador do pointcut
aspecto - Aspecto a ser adicionado.
Throws:
PointcutNaoDeclaradoException

getAdvices

AdviceGroup getAdvices(Interceptavel interceptavel)
                       throws ComandoNaoInterceptadoException,
                              ObjetoJaDeclaradoException,
                              ProcedimentoNaoDeclaradoException,
                              ProcedimentoJaDeclaradoException,
                              ClasseJaDeclaradaException,
                              ClasseNaoDeclaradaException,
                              EntradaInvalidaException,
                              PointcutNaoDeclaradoException,
                              UnsuporttedAdviceAroundForAccessAttributeException
Retorna todos os advices relacionados ao comando especificado

Parameters:
comando - O comando que devera ser interceptado
Returns:
todos os advices relacionados ao comando especificado
Throws:
PointcutNaoDeclaradoException
EntradaInvalidaException
ClasseNaoDeclaradaException
ClasseJaDeclaradaException
ProcedimentoJaDeclaradoException
ProcedimentoNaoDeclaradoException
ObjetoJaDeclaradoException
UnsuporttedAdviceAroundForAccessAttributeException
ComandoNaoInterceptadoException

mapDefClasse

void mapDefClasse(Id idArg,
                  DefClasse defClasse)
                  throws ClasseJaDeclaradaException
Mapeia um identificador a um definição de classe.

Parameters:
idArg - o nome da classe
defClasse - Definição da Classe.
Throws:
ClasseJaDeclaradaException - quando a classe já foi declarada.

mapObjeto

void mapObjeto(ValorRef valorRef,
               Objeto objeto)
               throws ObjetoJaDeclaradoException
Mapeia um valor referência a um objeto.

Parameters:
valorRef - Valor referência.
objeto - Objeto.
Throws:
ObjetoJaDeclaradoException - Quando esse objeto já foi declarado.

changeValor

void changeValor(Id idArg,
                 Valor valorId)
                 throws VariavelNaoDeclaradaException
Altera o valor associado a um identificador.

Parameters:
idArg - Identificador.
valorId - O valor a ser associado ao identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

getValor

Valor getValor(Id idArg)
               throws VariavelNaoDeclaradaException
Obtém o valor associado a um determinado identificador.

Parameters:
idArg - Identificador
Returns:
o valor associado a um determinado identificador.
Throws:
VariavelNaoDeclaradaException - Quando a variável não foi declarada.

getDefClasse

DefClasse getDefClasse(Id idArg)
                       throws ClasseNaoDeclaradaException
Obtém a definição da classe cujo nome é idArg

Parameters:
idArg - Nome da classe.
Returns:
a definição da classe.
Throws:
ClasseNaoDeclaradaException - quando nao foi declarada nenhuma classe com esse nome.

getObjeto

Objeto getObjeto(ValorRef valorRef)
                 throws ObjetoNaoDeclaradoException
Obtém o objeto associado a um dado valor referencia.

Parameters:
valorRef - Valor referência
Returns:
o objeto associado a um dado valor referencia.
Throws:
ObjetoNaoDeclaradoException - Quando o objeto não foi declarado.

getProxRef

ValorRef getProxRef()
Obtém a próxima referência de acordo com o contexto atual de execução.

Returns:
a próxima referência de acordo com o contexto atual de execução.

getRef

ValorRef getRef()
Obtém o valor referencia atual.

Returns:
o valor referencia atual.

read

Valor read(Tipo tipoIdLido)
           throws EntradaInvalidaException
Lê da entrada padrão e associa o conteúdo a um determinado identificador.

Parameters:
tipoIdLido - Tipo do identificador ao qual será associado o valor lido.
Returns:
o valor lido.
Throws:
EntradaInvalidaException - Quando a entrada fornecida não pode ser atribuída ao tipo do identificador.

write

AmbienteExecucao write(Valor v)
Escreve um valor 'v' na saída.

Parameters:
v - O valor a ser escrito.
Returns:
o ambiente de execução, que representa o estado atual.

getEntrada

ListaValor getEntrada()
Obtém a entrada.

Returns:
a entrada.

getSaida

ListaValor getSaida()
Obtém a saída.

Returns:
a saída.

getContextoIdValor

ContextoExecucao getContextoIdValor()
Obtém um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.

Returns:
um novo contexto de execução com a mesma entrada, saída e pilha de mapeamentos id/valor.