Добавить аннотации для автоматического указания порядка полей - PullRequest
0 голосов
/ 22 марта 2019

Мотивация:

  • У меня есть класс DTO, в котором хранятся значения элементов управления HTML (текстовое поле, флажок и т. Д.). Я хочу проверить эти значения, в том порядке, в каком эти элементы управления отображаются в HTML, другими словами, в том же порядке, что и индекс вкладки по умолчанию в HTML (это поведение передается из UX наших старых программ OLTP для мэйнфреймов). Чтобы реализовать эти проверки с помощью отражения, я хочу указать порядок переменных в DTO. В нашем приложении 100 ~ HTML-кодов, поэтому я хочу не указывать ордера в каждом DTO вручную.
  • У меня есть класс DTO, в котором хранятся значения, которые будут записаны в файл QSAM. Чтобы записать эти значения в файл с отражением, я хочу указать порядок этих переменных в DTO. В нашем приложении 100 ~ QSAM-файлов, поэтому я хочу не указывать ордера в каждом DTO вручную.

Справочная информация:

Порядок Class.getDeclaredFields () не указан в Java, поэтому я хочу добавить аннотации к полям, чтобы указать порядок полей следующим образом:

public final class Model {
    @Order(1)
    String item1;

    @Order(2)
    String item2;

    @Order(3)
    String item3;

    @Order(4)
    String item4;
}

Но слишком сложно добавить эти аннотации ко всем классам.

Вопрос:

Есть ли способ добавить аннотации для автоматического указания порядка полей?

Я осмотрел документ Ломбока, но такой функции нет.

1 Ответ

0 голосов
/ 27 марта 2019

Class.getDeclaredFields является недетерминированным от прогона к прогону. Когда мне нужен детерминированный вывод, я либо сортирую результат, либо использую методы, которые делают (из этот пакет , который я поддерживаю).

Если вы хотите другой порядок, вы можете написать свою собственную оболочку для методов, которые используют другой порядок сортировки.

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