AspectJ
Vikipedi, özgür ansiklopedi
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 kontrolu ve kayıt tutmadır. AspectJ Eclipse ile bütünleştirildiğinden beri bircok Java programcısı tarafından yaygın olarak kullanılmaktadır.
[değiştir] Açıklamalar ve örnekler
- AspectJ Java sınıflarına metodlar, 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 metod çağırımıdır (x.yap()
). AspectJ bu noktalarda başka metodları çağırmak için, metodları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.