Пользовательская аннотация для форматирования поля на основе другого поля - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть проект Spring Boot 2, и мне нужно отформатировать поле в объекте на основе другого поля.Поле 'name' в сущности ниже должно иметь формат 'name' + "(Invalid)", если 'active' равно false, в противном случае, если true, тогда "(Invalid)" необходимо удалить.Этот пример - самый простой случай.На самом деле существует около 30 классов, которым нужна эта логика.У каждого есть поле 'active', но 'name' может быть любым.

public class Entity {
  private String name;
  private boolean active;

  // getters and setters
}

Я подумал о двух вариантах:

  1. Взлом метода setActive (логический активный)добавить или удалить «(неверно)» на основе значения «активный».Я не хочу этого делать, потому что было бы более 30 классов для взлома.
  2. Создайте пользовательскую аннотацию, которая будет применять логику для добавления или удаления «(недействительно)» в поле «имя».
  3. Другой вариант, который мне не хватает.

Можно ли создать пользовательскую аннотацию, которая будет делать это?Если да, то как?

В своем исследовании я выяснил, как установить значение на основе отражения.И создайте пользовательскую аннотацию.Я не понимаю, как заставить Spring увидеть его и когда он выполнит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...