Introdução ao AspectJ Desenvolvimento de Sistemas Orientados a Aspectos Prof. Rodrigo Ribeiro Introdução O que é AspectJ ? História da linguagem: Da Xerox à IBM. Extensão à linguagem Java para AOP. Aumenta Java com construções para: Especificar regras de combinação Implementar interesses transversais Todo programa Java é um programa AspectJ. Compilador AspectJ Compila arquivos para .class (bytecodes) Qualquer JVM pode executar programas AspectJ Introdução Na aula anterior... Vimos os conceitos de: Regras de combinação servem para... Indicar “qual” ação será inserida em “que” ponto do programa Compilador de AspectJ (combinador) Interesses transversais. Regras de combinação Combinador Usa regras de combinação para gerar o sistema Não modifica o código fonte AspectJ possui dois tipos de combinações Combinações dinâmicas Combinações estáticas Introdução Combinação dinâmica Visível durante a execução do programa Muda o comportamento da execução Combinador insere (ou substitui) código. Combinação estática Muda a estrutura estática do programa Estrutura de classes e aspectos Inserir métodos / variáveis Modificar hierarquia de herança Introdução Ponto de junção (joinpoint) Ponto identificável na execução do programa Ponto de atuação (pointcut) Especifica quais pontos de junção são selecionados Sugestão (advice) Trecho de código que será executado em um ponto de junção selecionado por um ponto de atuação Introdução Introdução Combinações estáticas Declarações de tempo de compilação Avisos Erros Aspecto Pontos de atuação, sugestões, classes, variáveis, métodos...