Использование перечислений для выполнения команд
Спасибо за прочтение,
Я хочу реализовать перечисление, которое дает список допустимых команд. Я прошу пользователя ввести команду и некоторые аргументы, которые идут вместе с ней (и было бы неплохо, если бы она могла быть интернационализирована), проанализировать этот список, проверить, была ли это допустимая команда, а затем выполнить правильную команду с аргументами или сообщить ошибка. Как я могу заставить его вызывать функцию и передавать ей аргументы?
Это похоже на скелет, но насколько я понимаю, execute() должен быть без параметров.
public enum CommandWords {
OPEN() {
public void execute() {
System.out.println("Now opening");
}
},
SAVE() {
public void execute() {
System.out.println("save a file");
}
};
//And more methods, that actually manipulate the file
//template method
public abstract void execute();
}
Извините, была одна вещь, в которой я не был уверен. Метод, который я хочу выполнить, здесь не содержится в этом классе, он определен где-то еще. Мне нужно передать аргументы этому методу. Я запутался, потому что на самом деле я не хочу переопределять метод, я хочу держать ссылку на другой метод.