Параметры для "декорирования" методов в Java Static Class без использования AOJ или аналогичных

У меня есть статический класс, который имеет несколько методов с разными именами, но в остальном одна и та же сигнатура, например:

protected static MyResponse [validationMethodName] (MyObject target, MyStatus failStatus) throws Exception {...}

Я хотел бы, чтобы эти конкретные методы выполняли некоторый код при входе, такой как

target.checkCache(validationMethodName);
target.doOtherStuff();

без необходимости дублировать этот код в каждом методе.

Я изучаю следующие методы и мне интересно, какие из них могут быть возможными / лучшими, или есть ли лучший способ:

  • используйте прокси для содержащего статического класса и добавьте нужный код через InvocationHandler
  • расширить класс java.lang.reflect.method с помощью специального invoke()
  • просто продублируйте код в каждом методе с помощью некоторого начального вызова methodInit(args)

Я готов использовать в ядре все, что доступно через Java10

0 ответов

Другие вопросы по тегам