Использование перечислений для выполнения команд

Спасибо за прочтение,

Я хочу реализовать перечисление, которое дает список допустимых команд. Я прошу пользователя ввести команду и некоторые аргументы, которые идут вместе с ней (и было бы неплохо, если бы она могла быть интернационализирована), проанализировать этот список, проверить, была ли это допустимая команда, а затем выполнить правильную команду с аргументами или сообщить ошибка. Как я могу заставить его вызывать функцию и передавать ей аргументы?

Это похоже на скелет, но насколько я понимаю, 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();
 }

Извините, была одна вещь, в которой я не был уверен. Метод, который я хочу выполнить, здесь не содержится в этом классе, он определен где-то еще. Мне нужно передать аргументы этому методу. Я запутался, потому что на самом деле я не хочу переопределять метод, я хочу держать ссылку на другой метод.

0 ответов

Другие вопросы по тегам