Как перехватить создание объекта в Java - PullRequest
5 голосов
/ 03 января 2012

У меня есть немного странное требование. Я думаю.

Я бы хотел использовать собственный прокси, который я создал, для украшения всего объекта, который реализует определенный интерфейс, но мне нужно, чтобы это было прозрачно для самого кода. Что-то, что может быть включено в процесс сборки, было бы идеально.

Я думал в АОП, но не видел таких возможностей, я ищу идеи, даже сумасшедшие. Я думаю об изменении исходного кода после компиляции и перекомпиляции его, заменив по крайней мере прямые вызовы new (я думаю, это не приведет к созданию объекта путем отражения, но будет хорошим началом), но я могу вспомнить миллион проблем, которые это может привести к нарушению моей главной цели - сделать такие приборы максимально прозрачными.

Кто-нибудь из вас имел опыт в такой необычной вещи?

Привет

1 Ответ

3 голосов
/ 03 января 2012

Используйте аннотацию для украшения классов и используйте обработку аннотаций для внедрения необходимого кода.

fyi, Hibernate использует этот подход

...