AspectJ может предоставить вам эту функцию, но это отдельный этап компиляции и некоторые дополнительные библиотеки.
public aspect ServerLogger {
pointcut printSomething ();
before(): printSomething()
{
(Master)(thisJoinPointStaticPart.getTarget()).printForAlMethodsInSubClass();
}
}
Проект Eclipse предоставляет отличную реализацию AspectJ, которая прекрасно интегрируется с Eclipse и Maven. Для этого есть множество отличной документации и множество действительно хороших материалов для этого здесь, на StackOverflow.
[обновление]
Для доступа к информации о параметре вы можете использовать
thisJoinPoint.getSignature();
метод для доступа к информации о вызываемой функции, если возвращаемый объект является экземпляром MethodSignature , вы можете использовать Signature.getParameterNames () для доступа к параметрам вызываемой функции. Я думаю, что вам придется немного подумать, чтобы на самом деле получить значения - AspectJ, похоже, не справится с этим для вас. Мне бы пришлось провести эксперименты, чтобы получить рабочий код для вас.