Задача, которую вы пытаетесь решить, возможна только с использованием сред AOP (Aspect Oriented Programming).
Среды AOP позволяют добавлять некоторый код в метод, не изменяя его.На самом деле они создают прокси-классы, которые обертывают ваши исходные классы и выполняют необходимые строки кода перед каждым привязанным к ним методом.
Однако AOP является излишним для некоторых простых задач, поскольку обычно требует некоторых сложных конфигураций иобычно интеграция с DI-фреймворками.
Вот некоторый список AOP-фреймворков, если вы все еще заинтересованы: http://java -source.net / open-source / аспектно-ориентированные-фреймворки .
Редактировать:
На самом деле, я думаю, что вы, в первую очередь, делаете свою задачу неправильно.Если ваш метод является частью бизнес-уровня - он не должен разрешать необрезанные параметры и генерировать какое-то исключение в этом случае.Если ваш метод является частью какого-либо уровня представления - он должен очищать параметры вручную, обычно рядом с той частью, где он читает параметры от пользователя.
Например, если вы читаете эти параметры из какой-либо формы Swing, тогда вы должны обрезать их, прежде чем переходить к вашему конструктору.Например:
Ваш текущий код:
int someId = Integer.valueOf(idField.getText());
String someName = nameField.getText();
String someArg = argField.getText();
new Constructor(someId, someName, someArg)
Как с ним обращаться:
int someId = Integer.valueOf(idField.getText());
String someName = nameField.getText().trim();
String someArg = argField.getText().trim();
new Constructor(someId, someName, someArg)