Status: Accepted
Date: 2026-04-18
Доменные enums (MeetingType, VoteDecision, ExtractKind, ParticipantRole, MemberRole, ExtractSource) используются в двух сценариях:
SHORT, APPROVE) достаточно.APPROVE/INHOUSE/SHORT.Первая версия enums не имела описания. Значения типа ExtractKind.SHORT vs ExtractKind.SIMPLE — cryptic без контекста, непонятно что чем отличается. Для шаблонов описания пришлось бы переносить в отдельный messages.properties или хардкодить в stamper.
Каждый доменный enum несёт поле description с русской расшифровкой. Pattern повторяет существующий CommitteeCode:
public enum MeetingType {
INHOUSE("Очная"),
ONLINE("Заочная");
private final String description;
MeetingType(String description) { this.description = description; }
public String description() { return description; }
}
Применено к: MeetingType, VoteDecision, ParticipantRole, MemberRole, ExtractKind, ExtractSource.
Positive:
decision.description().Negative:
messages.properties/Locale. Для внутреннего сервиса банка на RU-сегмент — acceptable.messages_ru.properties: более i18n-friendly, но splitting enum-значения и их отображение — лишний разрыв при том что мы сейчас моно-язычны.EnumMap<XXX, String>-taable в каком-то helper: централизация которая размазывает значение по двум местам.Не все значения description подтверждены бизнесом на момент принятия решения:
ExtractKind.* и ExtractSource.* — в референсе русских подписей нет, наши формулировки висят в questions-to-business.md на подтверждение.ParticipantRole.INTERNAL_AUDIT/AUDIT/ASSISTANT/READER/SUPERVISOR — JavaDoc в референсе пуст, наши подписи тоже TBC.MeetingType — в референсе три варианта подписей в разных местах. Выбрали канонический из AgendaDto.MeetingType. Подтверждено в glossary.md → MeetingType.