По сути, мне хотелось бы иметь словарь, который бы воздерживался от устаревших директив #define.
У меня есть старый заголовочный файл, который содержит более 6000 определений, которые используются в качестве параметрической функции флага, и эти определения обозначают один тип параметра объекта.
В C у меня есть
GetParameter(... , T_CTITLE, ...);
Я хотел бы позвонить в Java
Connector.getParameter(Parameter.CTITLE, ...);
И параметр будет инкапсулировать всю логику, связанную с получением параметра из библиотеки.
Экземпляры параметров автоматически извлекаются из заголовка и преобразуются в код Java, но проблема в том, что класс параметров становится слишком большим, т. е. я получаю слишком большой код компилировать ошибка (подчеркну: параметров более 6000).
И я был бы рад реализовать эту абстракцию таким образом, чтобы позволить IDE использовать автодополнение, и мне бы очень не понравилась идея хранения объектов параметров, скажем, в HashMap.
РЕДАКТИРОВАТЬ: Класс параметра определяется следующим образом:
public Parameter{
/** logic **/
public static final Parameter parameter1 = new Parameter("NAME", "T", 0xAAB);
...
public static final Parameter parameter6000 = new Parameter("FOO", "T", 0xZZZ);
}
Подробнее здесь: https://stackoverflow.com/questions/864 ... voiding-co