Я работаю с контейнером для хранения списка объектов (того же класса), которые имеют определенные поля, использующие пользовательскую аннотацию RetentionSortable
. Цель аннотации состоит из двух частей:
- Чтобы пометить поле как сопоставимое с другим объектом, то же поле.
- И дать имя сортировки поля (например, Дата модификации или Имя).
Затем контейнер пройдет список объектов (помните, что они похожи), соберет список RententionSortable
, которые содержит объект, и передаст список в графический интерфейс. Графический интерфейс отобразит список и запросит сортируемое выделение и вернет его сортируемому, который затем отсортирует список по выбранному RetentionSortable
.
Цель этого метода или сортировки объекта - позволить мне создать небольшой контейнер, который может в общем случае принимать любой объект и сортировать его, если в нем есть хотя бы одно поле RetentionSortable
.
Моя интуиция кричит, что это плохая практика, и что полагаться так много на размышления - плохая идея, но мои тесты работают безупречно и лучше, чем я ожидал.
Использует ли использование отражения аннотаций для нахождения всех полей, аннотированных конкретной аннотацией, эффективную практику сортировки абстрактных объектов?