/** The event bus. */
private final EventBus eventBus;
- /** The core being controlled. */
- private final Core core;
+ private final CommandReaderFactory commandReaderFactory;
private final int port;
/**
* Creates a new network acceptor.
*
* @param eventBus
- * @param core
+ * @param commandReaderFactory
*/
- public NetworkAdapter(EventBus eventBus, Core core, int port) {
+ public NetworkAdapter(EventBus eventBus, CommandReaderFactory commandReaderFactory, int port) {
this.eventBus = eventBus;
- this.core = core;
+ this.commandReaderFactory = commandReaderFactory;
this.port = port;
}
OutputStream socketOutputStream = clientSocket.getOutputStream();
final InputStreamReader socketInputStreamReader = new InputStreamReader(socketInputStream, "UTF-8");
final OutputStreamWriter socketOutputStreamWriter = new OutputStreamWriter(socketOutputStream, "UTF-8");
- final CommandReader commandReader = new CommandReader(core, socketInputStreamReader, socketOutputStreamWriter);
+ final CommandReader commandReader = commandReaderFactory.create(socketInputStreamReader, socketOutputStreamWriter);
eventBus.register(commandReader);
commandReader.addListener(new Listener() {