Есть ли реальный способ запустить мой собственный код всякий раз, когда какой-либо класс загружается в Java, без принуждения пользователя явно и вручную загружать все классы с помощью специального загрузчика классов?
Не вдаваясь в подробности, всякий раз, когда класс, реализующий определенный интерфейс, читает его аннотацию, которая связывает его с другим классом, и передает пару третьему классу.
Редактировать: Черт, я перейду к деталям: я делаю библиотеку обработки событий. Что я делаю, так это то, что клиентский код создает свои собственные пары Listener/Event, которые должны быть зарегистрированы в моей библиотеке как пара. (хм, это было не так уж и долго).
Дальнейшее редактирование. В настоящее время клиентскому коду необходимо зарегистрировать пару классов/интерфейсов вручную, что работает очень хорошо. Я намерен автоматизировать это, и я подумал, что связка двух классов с помощью аннотаций поможет. Затем я хочу избавиться от клиентского кода, необходимого для постоянного обновления списка регистраций.
PS: Статический блок не подойдет, так как мой интерфейс объединен в библиотеку, а клиентский код создаст дополнительные интерфейсы. Таким образом, абстрактные классы тоже не подойдут, так как это должен быть интерфейс.