Параметры для «декорирования» методов в Java Static Class без использования AOJ или аналогичных - PullRequest
0 голосов
/ 09 мая 2018

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

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

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

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

без дублирования этого кода в каждом методе.

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

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

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

...