Параметры для "декорирования" методов в 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