Exercício simples de com POA

6 views
Skip to first unread message

cassioso

unread,
Apr 13, 2007, 11:21:47 AM4/13/07
to POA - Programação Orientada a Aspectos
package olaMundo;

/**
* Classe exemplo para demonstrar o uso de pontos de junção;
*
* @author cassioso
*
* @encoding UTF-8
*
*/
public class Mensagem {

public void exibirMensagem() {
System.out.println("Olá mundo porreta!");
}

public void exibirMensagem(String s) {
System.out.println(s);
}

public static void main(String[] args) {
Mensagem m = new Mensagem();
m.exibirMensagem();
m.exibirMensagem("Isso é bão demais da conta...");
}
}

a execução desta por si só gera a saída:


Olá mundo porreta!
Isso é bão demais da conta...


E com a adição deste Aspecto:

package olaMundo;

/**
* Utilizando pontos de junção para métodos antes e depois da chamada
*
* @author cassioso
*
*/
public aspect AspectoMensagem {

pointcut callExibirMensagem():call(public void
Mensagem.exibirMensagem(..));

before():callExibirMensagem(){
System.out.println("A N T E S de exibirMensagem");
}

after():callExibirMensagem(){
System.out.println("D E P O I S de chamar exibirMensagem");
}
}


Gera a seguinte saída:

A N T E S de exibirMensagem
Olá mundo porreta!
D E P O I S de chamar exibirMensagem
A N T E S de exibirMensagem
Isso é bão demais da conta...
D E P O I S de chamar exibirMensagem


Na seção de arquivos tem um aspecto mais completo, utilizando pontos
de junção para métodos e pontos de atuação antes e depois da execução,
chamada e criação nova instância.

cassioso

unread,
Apr 13, 2007, 11:24:54 AM4/13/07
to POA - Programação Orientada a Aspectos
O nome do arquivo é olaMundo.zip

Um arquivo zipado. Deve ser adicionado como pacote dentro do projeto.

Reply all
Reply to author
Forward
0 new messages