Фон:
В настоящее время я пытаюсь создать два оператора задач. Класс SettingOperator и класс MessageOperator. Ниже я предоставил справочную информацию о том, чего я пытаюсь достичь с обоими классами.
Цель моего SettingOperator - Создает настройки проигрывателя, такие как обычное настольное приложение, и сохраняет их в файле впапка данных. Эти предпочтения могут быть обновлены с помощью команд проигрывателя, файлов конфигурации и т. Д.
Назначение моего MessageOperator - Обрабатывает протоколирование локализованных сообщений и настраивает текущий языковой стандарт плагинов (если он в настоящее время поддерживаетсяв противном случае плагин по умолчанию используется английский).
Проблема:
В настоящее время я инициализирую оба оператора как таковые в методе onEnable ()
private static PluginName instance;
private SettingOperator setting;
private MessageOperator message;
@Override
public void onEnable() {
instance = this;
// TASK OPERATORS
setting = new SettingOperator(this);
message = new MessageOperator(this);
}
/* CLASS INSTANCES */
@Contract (pure = true)
public static AdminConsole getInstance() {
return instance;
}
public static SettingOperator getSettingOP() {
return setting;
}
public static MessageOperator getMessageOP() {
return message;
}
Затем я пытаюсь назвать ссылки на оба класса, потому что оба используют друг друга взаимозаменяемо.
*** These Classes Are Into Separate Files, but for the sake of easy readability, I put them in one code block ***
public class SettingOperator {
private final MessageOperator message = PluginName.getMessageOP();
}
public class MessageOperator {
private final SettingOperator message = PluginName.getSettingOP();
}
Вопрос:
Есть ли лучший способ сделатьэто потому, что я склонен ловить исключение переполнения и не говорит мне, какую проблему это вызывает? Любая помощь приветствуется и будет рада конструктивной критике.