Strażnicy, czyli coś czego mi brakuje w Javie

W sumie brakuje mi dobrej implementacji tego rozwiązania, bo można taką funkcjonalność mieć z wykorzystaniem np. AspectJ czy Type Annotations. Jednak o co chodzi? Guardians of Erlang Erlang posiada bardzo fajną konstrukcję zwaną strażnikami (guardians). Cóż to jest? Otóż mając jakąś funkcję możemy walidować argumenty w deklaratywny sposób. Nie wywołujemy żadnego wywołania czy też nie […]

Guice, a JSR-303 z pomocą AspectJ

Problem mam. Mój własny walidator zgodny z JSR-303 wymaga dostępu do usługi zewnętrznej. Oczywiście instancja walidatora jest tworzona przez silnik Bean Validation. Mogę co prawda w metodzie initialize stworzyć ręcznie usługę, ale ja lubię Guice… Problem z Bean Validation polega na tym, że nie za bardzo idzie wpiąć się do niego w taki sposób by […]

Różnica pomiędzy call i execution w AspectJ

Różnica wredna, która potrafi zepsuć dzień. Generalnie zarówno call jak i execution nie różnią się jeżeli chodzi o moment wywołania. Jeżeli zdefiniujemy, że mają być wkompilowane przed to zostaną wkompilowane przed. Jeżeli po to po. Kompilator zapewnia, że w danym przepływie sterowania aspekt będzie umieszczony w odpowiednim miejscu. Oczywiście przy założeniu, że nie ma tam […]

AspectJ in Action – Review

Title:AspectJ in Action Author:Ramnivas Laddad Year:2009 ISBN:193-3988-05-3 This post is a part of „Book for Review Program”. For details look this page [PL]. Some time ago I tried to learn aspect oriented programming (AOP) but failed. When I was lend „AspectJ in Action” form Warsaw JUG library I promised myself – I start to use […]

AspectJ – Join Point i pointcut, teoria

Co dziś miałbym przedstawić? Wiemy już mniej więcej co to jest programowanie aspektowe i jak się to je. Wiemy jak zdefiniować poradę (i czym mniej więcej ona jest), umieścić ją w kodzie za pomocą punktu przecięcia i uruchomić program. Należałoby teraz powiedzieć czym są punkty przecięcia. Jednakże jest to dość skomplikowane i na razie musimy […]

AspectJ trochę szczegółów – rodzaje porad

Wiemy już jak napisać aspekt i poznaliśmy dwa „rodzaje składni” aspektów. Czas na dokładniejsze przyjrzenie się temu jak wygląda składnia i jakie możliwości nam daje. Na chwilę obecną wiemy, że aspekt to jednostka kodu, która jest wstawiana za pomocą odpowiedniego narzędzia – kompilatora aspektowego lub agenta JVM do kodu programu. Pytanie jednak jakie mamy możliwości […]

@AspectJ i adnotacje Java

Jak wspominałem wczoraj poza plikami .aj AspectJ posiada też drugi rodzaj składni oparty o czysty kod Java. Jest to o tyle fajne rozwiązanie, że nie trzeba mieć na pokładzie kompilatora aspektowego, a wystarczy tylko zwykły javac + biblioteka z adnotacjami. Jest to o tyle ważne, że przy dużej aplikacji statyczne wstawianie aspektów jest dość żmudne. […]

AspectJ – pierwsze starcie

Zaczynamy mini kurs programowania aspektwego z ApectJ i Eclipse. Nie chcę wnikać w spinanie projektów z mavenem (tak z lenistwa), a zatem będzie tylko w eclipse. Instalacja softu Z tej strony pobieramy odpowiedni dla nas pakiecik i restartujemy Eclipse. Zakładam, że wiesz jak instalować plugin eclipsowy za pomocą Update Site. Jeżeli nie to sorry Winnetou. […]

AspecJUnit i maven

Błąd typograficzny w temacie zamierzony… Dziś stanąłem przed poważnym problemem. Jak przetestować narzędzie do komunikacji z Google Translate zza proxy. Niby prosta rzecz. Wystarczy tylko przy odpalaniu mavena dać mu odpowiednie ustawienia. Tylko, że ja jestem cholernie leniwy (cnota programisty). Dlatego też poszukiwałem rozwiązania, które pozwoli mi zastąpić każdorazowe klepanie konfiguracji proxy. Własny plugin = […]