From 47e12701bad0dc07121c6101930bbd82b951500c Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Fri, 1 Dec 2023 22:33:16 +0100 Subject: [PATCH] Added model abstraction for mvc-pattern. --- src/main/java/model/src/Model.java | 15 +++++ src/main/java/model/src/NFTablesModel.java | 9 +++ src/main/java/model/src/NetworkModel.java | 75 ++++++++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 src/main/java/model/src/Model.java create mode 100644 src/main/java/model/src/NFTablesModel.java create mode 100644 src/main/java/model/src/NetworkModel.java diff --git a/src/main/java/model/src/Model.java b/src/main/java/model/src/Model.java new file mode 100644 index 0000000..6c0e3f6 --- /dev/null +++ b/src/main/java/model/src/Model.java @@ -0,0 +1,15 @@ +/** + * @author Aaron Moser + * @date 01.12.2023 + */ +package model.src; + +public class Model { + private NetworkModel networkModel; + private NFTablesModel nfTablesModel; + + public Model() { + networkModel = new NetworkModel(); + nfTablesModel = new NFTablesModel(); + } +} diff --git a/src/main/java/model/src/NFTablesModel.java b/src/main/java/model/src/NFTablesModel.java new file mode 100644 index 0000000..8e7e72e --- /dev/null +++ b/src/main/java/model/src/NFTablesModel.java @@ -0,0 +1,9 @@ +/** + * @author Aaron Moser + * @date 01.12.2023 + */ +package model.src; + +public class NFTablesModel { + +} diff --git a/src/main/java/model/src/NetworkModel.java b/src/main/java/model/src/NetworkModel.java new file mode 100644 index 0000000..cefa2cc --- /dev/null +++ b/src/main/java/model/src/NetworkModel.java @@ -0,0 +1,75 @@ +/** + * @author Aaron Moser + * @date 01.12.2023 + */ +package model.src; + +import java.util.LinkedList; + +public class NetworkModel { + private LinkedList ipv4NetworkConnections; + private LinkedList ipv6NetworkConnections; + + private LinkedList tcpOverIPv4NetworkConnections; + private LinkedList tcpOverIPv6NetworkConnections; + + private LinkedList udpOverIPv4NetworkConnections; + private LinkedList udpOverIPv6NetworkConnections; + + private LinkedList unixNetworkConnections; + + public NetworkModel() { + ipv4NetworkConnections = new LinkedList(); + ipv6NetworkConnections = new LinkedList(); + + tcpOverIPv4NetworkConnections = new LinkedList(); + tcpOverIPv6NetworkConnections = new LinkedList(); + + udpOverIPv6NetworkConnections = new LinkedList(); + udpOverIPv6NetworkConnections = new LinkedList(); + + unixNetworkConnections = new LinkedList(); + } + + public void addIPv4NetworkConnection(String networkConnection) { + if (null != networkConnection && null != ipv4NetworkConnections) { + ipv4NetworkConnections.add(networkConnection); + } + } + + public void addIPv6NetworkConnection(String networkConnection) { + if (null != networkConnection && null != ipv6NetworkConnections) { + ipv6NetworkConnections.add(networkConnection); + } + } + + public void addTCPOverIPv4NetworkConnection(String networkConnection) { + if (null != networkConnection && null != tcpOverIPv4NetworkConnections) { + tcpOverIPv4NetworkConnections.add(networkConnection); + } + } + + public void addTCPOverIPv6NetworkConnection(String networkConnection) { + if (null != networkConnection && null != tcpOverIPv6NetworkConnections) { + tcpOverIPv6NetworkConnections.add(networkConnection); + } + } + + public void addUDPOverIPv4NetworkConnection(String networkConnection) { + if (null != networkConnection && null != udpOverIPv4NetworkConnections) { + udpOverIPv4NetworkConnections.add(networkConnection); + } + } + + public void addUDPOverIPv6NetworkConnection(String networkConnection) { + if (null != networkConnection && null != udpOverIPv6NetworkConnections) { + udpOverIPv6NetworkConnections.add(networkConnection); + } + } + + public void addUnixNetworkConnection(String networkConnection) { + if (null != networkConnection && null != unixNetworkConnections) { + unixNetworkConnections.add(networkConnection); + } + } +}