Я реализую стандарт как объектно-ориентированную библиотеку в Java. Стандарт включает в себя множество сообщений, которые проходят через сеть через терминалы. Каждое сообщение реализовано как отдельный класс.
Некоторые поля представлены как типы символов, и эти поля имеют одно из значений, определенных в стандарте. Например,
public class OutgoingMessage {
private char action;
и действие имеет эти значения,
'0' - Do not print
'1' - Print
'2' - Print and Forward
'3' - Print and Reply
'F' - Forward
'R' - Reply
Также некоторые классы имеют более 2 полей, подобных этому. В таких ситуациях их определение в качестве констант в классе может быть затруднено.
Так что я пытаюсь реализовать эти значения как
public class OutgoingMessage {
private char action;
public final class ActionTypes {
public static final char DO_NOT_PRINT = '0';
public static final char PRINT = '1';
...
И используя, как показано ниже
...
message.setAction(OutgoingMessage.ActionTypes.DO_NOT_PRINT);
...
message.setFooBar(OutgoingMessage.FooBarTypes.FOO_BAR);
...
Что вы думаете? Что-то не так с этим подходом? Как бы вы определили эти константы в библиотеке?
Большое спасибо