Прежде всего вы пытаетесь заново изобрести колесо. Существует проект под названием Hibernate Validator , который является реализацией справочной спецификации проверки компонентов.
Вот пример с их целевой страницы:
public class Car {
@NotNull
private String manufacturer;
@NotNull
@Size(min = 2, max = 14)
private String licensePlate;
@Min(2)
private int seatCount;
// ...
}
Итак, вы определить валидации и запустить двигатель, он выполнит все проверки и вернет ошибки, если они есть. Вы даже можете свернуть свои собственные валидации, что делает его расширяемым.
Одно замечание: этот проект не имеет ничего общего с Hibernate (широко известным в мире инструментом отображения ORM java).
Этот проект также интегрируется с пружиной MVC, если вам нужно что-то подобное.
В любом случае, он использует подход аннотации и действительно имеет некоторое снижение производительности. Однако все зависит от того, какие данные у вас есть, например, они все еще намного быстрее, чем сетевые вызовы, поэтому, если ваш проект делает что-то подобное, возможно, дополнительные расходы будут незначительными.
Отражение не это медленно, как это было в первых Java версиях, но суть в том, что вы должны попробовать и сами убедиться, соответствует ли это вашим потребностям. В противном случае я могу только строить догадки.
Здесь вы можете найти учебник по этой теме c, должен иметь отношение