Added controller abstraction for mvc-pattern.

This commit is contained in:
WickedJack99
2023-12-01 22:32:48 +01:00
parent af961b9a38
commit a9cdfba014
3 changed files with 64 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
/**
* @author Aaron Moser
* @date 01.12.2023
*/
package controller.src;
import java.util.Queue;
public interface Controller {
public void start();
public void setControllerToViewQueue(Queue<ControllerToViewData> queueControllerToView);
public void setViewToControllerQueue(Queue<ViewToControllerData> queueViewToController);
}

View File

@@ -0,0 +1,42 @@
/**
* @author Aaron Moser
* @date 01.12.2023
*/
package controller.src;
import java.util.Queue;
import connect.src.ClientThread;
import gui.src.View;
import logger.src.MessageLogger;
import model.src.Model;
public class ControllerThread extends Thread implements Controller {
private static final String className = "ControllerThread";
private View view;
private Model model;
private Queue<ControllerToViewData> controllerToViewQueue;
private Queue<ViewToControllerData> viewToControllerQueue;
public ControllerThread(View view, Model model) {
this.view = view;
this.model = model;
}
public void run() {
ClientThread clientThread = new ClientThread();
MessageLogger.printMessage(className, "Client thread was started.");
clientThread.start();
MessageLogger.printMessage(className, "Exit controller thread.");
}
public void setControllerToViewQueue(Queue<ControllerToViewData> controllerToViewQueue) {
this.controllerToViewQueue = controllerToViewQueue;
}
public void setViewToControllerQueue(Queue<ViewToControllerData> viewToControllerQueue) {
this.viewToControllerQueue = viewToControllerQueue;
}
}

View File

@@ -0,0 +1,9 @@
/**
* @author Aaron Moser
* @date 01.12.2023
*/
package controller.src;
public class ControllerToViewData {
}