Roman Dawydkin avatar Roman Dawydkin committed aac9a68

Extract MessagePrinter interface.

Comments (0)

Files changed (4)

src/toy/Interpreter.java

 import java.io.StringReader;
 import java.math.BigDecimal;
 
-import toy.TelnetServer.MessagePrinter;
-
 public class Interpreter
 {
 	private final Machine machine;

src/toy/Machine.java

 
 import java.util.EmptyStackException;
 
-import toy.TelnetServer.MessagePrinter;
-
 public class Machine
 {
 	// ============================================================ Class Fields

src/toy/MessagePrinter.java

+package toy;
+
+public interface MessagePrinter
+{
+	public abstract void printError(String msg);
+
+	public abstract void printLine(String msg);
+}

src/toy/TelnetServer.java

 		}
 	}
 
-	class MessagePrinter
+	class TelnetMessagePrinter implements MessagePrinter
 	{
-		void printLine(String msg) {
+		public void printLine(String msg) {
 			try {
 				TelnetServer.this.writeLine(msg);
 			} catch (IOException ex) {
 			}
 		}
 
-		void printError(String msg) {
+		public void printError(String msg) {
 			try {
 				TelnetServer.this.writeError(msg);
 			} catch (IOException ex) {
 			try {
 				writer = new OutputStreamWriter(socket.getOutputStream());
 				try {
-					interpreter = new Interpreter(new MessagePrinter());
+					interpreter = new Interpreter(new TelnetMessagePrinter());
 					write(String.format("\033[35;1mHello\033[m, " +
 							"thread id: \033[1m%d\033[m\r\n",
 							Thread.currentThread().getId()));
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.