From 6fa8b4ecc4cbab4e2ebe3f29fb810481da7de26c Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Thu, 15 Jun 2017 15:42:55 +0300 Subject: [PATCH] =?UTF-8?q?Zond:=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=8B=20=D0=B2=D1=8B=D1=85=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zond/build.gradle | 2 +- zond/src/main/java/asys/zond/Main.java | 1 + .../java/asys/zond/ZondCommandHandler.java | 25 +++++++++++++++++++ zond/src/main/java/asys/zond/shell/Shell.java | 4 +++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 zond/src/main/java/asys/zond/ZondCommandHandler.java diff --git a/zond/build.gradle b/zond/build.gradle index bba81ae..4f37fa8 100644 --- a/zond/build.gradle +++ b/zond/build.gradle @@ -1,5 +1,5 @@ group = 'asys' -version = '0.7.1-SNAPSHOT' +version = '0.7.2-SNAPSHOT' apply plugin: 'application' diff --git a/zond/src/main/java/asys/zond/Main.java b/zond/src/main/java/asys/zond/Main.java index 37621ba..f5cc9af 100644 --- a/zond/src/main/java/asys/zond/Main.java +++ b/zond/src/main/java/asys/zond/Main.java @@ -17,6 +17,7 @@ public class Main { private void start() { Shell shell = Shell.getInstance(); try { + shell.setCommandHandler(new ZondCommandHandler()); shell.start(System.in); } catch (Exception e) { e.printStackTrace(); diff --git a/zond/src/main/java/asys/zond/ZondCommandHandler.java b/zond/src/main/java/asys/zond/ZondCommandHandler.java new file mode 100644 index 0000000..11b47df --- /dev/null +++ b/zond/src/main/java/asys/zond/ZondCommandHandler.java @@ -0,0 +1,25 @@ +/* + * DmitriyMX + * 2017-06-15 + */ +package asys.zond; + +import asys.zond.shell.CommandHandler; +import asys.zond.shell.Shell; + +public class ZondCommandHandler implements CommandHandler { + @Override + public void handle(String commandLine) { + if (commandLine.startsWith(":")) { + internalCommand(commandLine.substring(1)); + } else { + Shell.getInstance().getOutput().println(commandLine); + } + } + + private void internalCommand(String line) { + if (line.equalsIgnoreCase("exit") || line.equalsIgnoreCase("quit")) { + Shell.getInstance().shutdown(); + } + } +} diff --git a/zond/src/main/java/asys/zond/shell/Shell.java b/zond/src/main/java/asys/zond/shell/Shell.java index 13b914e..f63bc2a 100644 --- a/zond/src/main/java/asys/zond/shell/Shell.java +++ b/zond/src/main/java/asys/zond/shell/Shell.java @@ -59,4 +59,8 @@ public class Shell { public void setOutputHook(ShellOutputHook outputHook) { shellStdOut.setOutputHook(outputHook); } + + public void setCommandHandler(CommandHandler commandHandler) { + this.commandHandler = commandHandler; + } }