AspectJ

AspectJ, Java programlama diline kesit yönelimli bir eklentidir. AspectJ Java programlarında kesitleri ilgilendiren sorunları tek bir yapı altında (aspect) toplamaya yardımcı olur.

Kesitleri ilgilendiren değişiklere örnekler izleme, hata kontrolü ve kayıt tutmadır. AspectJ, Eclipse ile bütünleştirildiğinden beri birçok Java programcısı tarafından yaygın olarak kullanılmaktadır.

Örnekler

  • AspectJ Java sınıflarına metotlar, alanlar ve arayüzler eklemek için kullanılabilir. ÖrneÄŸin,
aspect Ornek{
  declare parents: Node implements Comparable;
  int Node.compareTo(Object o){
    //Ayrıntılar çıkarıldı
    }
}

Node sınıfının Comparable arayüzünü desteklemesini sağlar ve Node sınıfının compareTo metodunu tanımlar.

  • AspectJ Java programlarının tanımlanabilir noktalarında programın anlamının deÄŸiÅŸtirilmesinde kullanılabilir. Tanımlanabilir program noktalarına örnekler alan deÄŸiÅŸikleri (x.i=3;) ve metot çağırımıdır (x.yap()). AspectJ bu noktalarda baÅŸka metotları çağırmak için, metotların döndüğü deÄŸerleri deÄŸiÅŸtirmek için ve hata yaratmak için kullanılabilir. Mesela:
aspect Ornek{
  before(int deger) : call(* Node.set*(int, .. )) && args(deger){
    if (deger == 0){
    throw new IllegalArgumentException("0 gecersiz bir degerdir");
    }
  }
}

Node sınıfının adı set ile başlayan ve ilk parametresi int olan metodları çalışmadan önce metoda gönderilen parametreyi kontrol eder ve parametre sıfır ise kural dışı durum iletisi yaratır.

Dış bağlantılar

  1. "AspectJ sitesi". 25 Ağustos 2011 tarihinde kaynağından arşivlendi.