2012-01-02 16 views
5

Mam trochę dziwne wymagania.Myślę.Jak przechwycić tworzenie obiektu w Javie

Chciałbym użyć niestandardowego serwera proxy, który utworzyłem do dekoracji wszystkich obiektów, które implementują określony interfejs, ale potrzebuję tego, aby był przezroczysty dla samego kodu. Coś, co mogłoby zostać włączone do procesu budowania byłoby idealne.

Myślałem w AOP, ale nie widziałem takich możliwości, szukam pomysłów, nawet tych szalonych. Zastanawiam się nad zmianą kodu źródłowego po kompilacji i ponownym skompilowaniem go, zastępując przynajmniej bezpośrednie połączenia z nowymi (myślę, że to nie byłoby tworzenie obiektów przez odbicie, ale byłby to dobry początek), ale mogę wymyślić milion problemów, które to może przynieść, łamiąc mój główny cel, uczynienie tego oprzyrządowania tak przejrzystym, jak to tylko możliwe.

Czy niektórzy z was mieli doświadczenie w takich niezwykłych rzeczach?

Pozdrowienia

Odpowiedz

3

użyć adnotacji do dekoracji klas i używać przetwarzania adnotacji wstrzyknąć kod potrzebujesz.

FYI, Hibernate zatrudnia Takie podejście

+0

Witam, punktem jest rzeczą, że trzeba przechwycić jest budowa obiektu, zwracając Proxy zamiast czystego obiektu, Hibernate robi owinąć fasolę na pełnomocnika, ale nigdy po jakimś jawnym wywołaniu hibernacji/jpa (zapisywanie/utrzymywanie na sesji i tak dalej). Potrzebuję czegoś bardziej przejrzystego – PedroSena