From 07fbc7c6a95da25f898b78cf278dddc12d5ba5e6 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 14 Apr 2013 10:59:04 +0000 Subject: [PATCH] removed superclass for packet, interface looks better --- .gitattributes | 2 +- src/main/java/forge/net/client/NetClient.java | 4 ++-- .../net/client/state/ConnectedClientState.java | 4 ++-- .../forge/net/client/state/IClientState.java | 4 ++-- .../net/client/state/InLobbyClientState.java | 4 ++-- .../client/state/UnauthorizedClientState.java | 4 ++-- .../net/protocol/incoming/AuthorizePacket.java | 10 +++++++--- .../net/protocol/incoming/ChatPacket.java | 9 +++++++-- .../net/protocol/incoming/EchoPacket.java | 8 ++++++-- .../forge/net/protocol/incoming/IPacket.java | 10 ++++++++++ .../net/protocol/incoming/IncorrectPacket.java | 8 ++++++-- .../forge/net/protocol/incoming/Packet.java | 18 ------------------ .../net/protocol/incoming/PacketOpcode.java | 4 ++-- .../net/protocol/incoming/UnknownPacket.java | 11 ++++++++--- 14 files changed, 57 insertions(+), 43 deletions(-) create mode 100644 src/main/java/forge/net/protocol/incoming/IPacket.java delete mode 100644 src/main/java/forge/net/protocol/incoming/Packet.java diff --git a/.gitattributes b/.gitattributes index 2c7001749d7..dd67011f33e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14301,8 +14301,8 @@ src/main/java/forge/net/package-info.java -text src/main/java/forge/net/protocol/incoming/AuthorizePacket.java -text src/main/java/forge/net/protocol/incoming/ChatPacket.java -text src/main/java/forge/net/protocol/incoming/EchoPacket.java -text +src/main/java/forge/net/protocol/incoming/IPacket.java -text src/main/java/forge/net/protocol/incoming/IncorrectPacket.java -text -src/main/java/forge/net/protocol/incoming/Packet.java -text src/main/java/forge/net/protocol/incoming/PacketOpcode.java -text src/main/java/forge/net/protocol/incoming/UnknownPacket.java -text src/main/java/forge/net/protocol/incoming/package-info.java -text diff --git a/src/main/java/forge/net/client/NetClient.java b/src/main/java/forge/net/client/NetClient.java index 6f792e66d2a..3349de242ed 100644 --- a/src/main/java/forge/net/client/NetClient.java +++ b/src/main/java/forge/net/client/NetClient.java @@ -9,7 +9,7 @@ import forge.net.IConnectionObserver; import forge.net.client.state.ConnectedClientState; import forge.net.client.state.UnauthorizedClientState; import forge.net.client.state.IClientState; -import forge.net.protocol.incoming.Packet; +import forge.net.protocol.incoming.IPacket; import forge.net.protocol.incoming.PacketOpcode; import forge.net.protocol.outcoming.IMessage; @@ -46,7 +46,7 @@ public class NetClient implements IConnectionObserver, INetClient{ /** Receives input from network client */ @Override public void onMessage(String data) { - Packet p = PacketOpcode.decode(data); + IPacket p = PacketOpcode.decode(data); for(IClientState s : state) { if ( s.processPacket(p) ) break; diff --git a/src/main/java/forge/net/client/state/ConnectedClientState.java b/src/main/java/forge/net/client/state/ConnectedClientState.java index d846d2d47d5..91b4abbc7ea 100644 --- a/src/main/java/forge/net/client/state/ConnectedClientState.java +++ b/src/main/java/forge/net/client/state/ConnectedClientState.java @@ -3,7 +3,7 @@ package forge.net.client.state; import forge.net.client.INetClient; import forge.net.protocol.incoming.EchoPacket; import forge.net.protocol.incoming.IncorrectPacket; -import forge.net.protocol.incoming.Packet; +import forge.net.protocol.incoming.IPacket; import forge.net.protocol.outcoming.EchoMessage; import forge.net.protocol.outcoming.IncorrectPacketMessage; import forge.net.protocol.outcoming.UnknownPacketMessage; @@ -19,7 +19,7 @@ public class ConnectedClientState implements IClientState { } @Override - public boolean processPacket(Packet packet ) { + public boolean processPacket(IPacket packet ) { switch( packet.getOpCode() ) { case Echo: EchoPacket pe = (EchoPacket)packet; diff --git a/src/main/java/forge/net/client/state/IClientState.java b/src/main/java/forge/net/client/state/IClientState.java index 6ec944780d1..f200743f362 100644 --- a/src/main/java/forge/net/client/state/IClientState.java +++ b/src/main/java/forge/net/client/state/IClientState.java @@ -1,11 +1,11 @@ package forge.net.client.state; -import forge.net.protocol.incoming.Packet; +import forge.net.protocol.incoming.IPacket; /** * TODO: Write javadoc for this type. * */ public interface IClientState { - boolean processPacket(Packet data); + boolean processPacket(IPacket data); } diff --git a/src/main/java/forge/net/client/state/InLobbyClientState.java b/src/main/java/forge/net/client/state/InLobbyClientState.java index cf1c28d4242..79d691fc215 100644 --- a/src/main/java/forge/net/client/state/InLobbyClientState.java +++ b/src/main/java/forge/net/client/state/InLobbyClientState.java @@ -1,7 +1,7 @@ package forge.net.client.state; import forge.net.client.INetClient; -import forge.net.protocol.incoming.Packet; +import forge.net.protocol.incoming.IPacket; /** * TODO: Write javadoc for this type. @@ -15,7 +15,7 @@ public class InLobbyClientState implements IClientState { } @Override - public boolean processPacket(Packet data) { + public boolean processPacket(IPacket data) { return false; } } \ No newline at end of file diff --git a/src/main/java/forge/net/client/state/UnauthorizedClientState.java b/src/main/java/forge/net/client/state/UnauthorizedClientState.java index 65eee7ec5e9..5998ee6b070 100644 --- a/src/main/java/forge/net/client/state/UnauthorizedClientState.java +++ b/src/main/java/forge/net/client/state/UnauthorizedClientState.java @@ -4,7 +4,7 @@ import forge.game.player.LobbyPlayer; import forge.game.player.PlayerType; import forge.net.client.INetClient; import forge.net.protocol.incoming.AuthorizePacket; -import forge.net.protocol.incoming.Packet; +import forge.net.protocol.incoming.IPacket; import forge.net.protocol.incoming.PacketOpcode; import forge.net.protocol.outcoming.AuthorizationSuccessfulMessage; @@ -25,7 +25,7 @@ public class UnauthorizedClientState implements IClientState { @Override - public boolean processPacket(Packet packet) { + public boolean processPacket(IPacket packet) { if( packet.getOpCode() == PacketOpcode.Authorize ) { AuthorizePacket p = (AuthorizePacket)packet; if( true ) { // check credentials here! diff --git a/src/main/java/forge/net/protocol/incoming/AuthorizePacket.java b/src/main/java/forge/net/protocol/incoming/AuthorizePacket.java index d5121921281..46c3b0e1273 100644 --- a/src/main/java/forge/net/protocol/incoming/AuthorizePacket.java +++ b/src/main/java/forge/net/protocol/incoming/AuthorizePacket.java @@ -8,12 +8,11 @@ import forge.util.TextUtil; * TODO: Write javadoc for this type. * */ -public class AuthorizePacket extends Packet { +public class AuthorizePacket implements IPacket { private final String username; private final String password; private AuthorizePacket(String name, String pass) { - super(PacketOpcode.Authorize); username = name; password = pass; } @@ -27,7 +26,7 @@ public class AuthorizePacket extends Packet { } - public static Packet parse(String data) { + public static IPacket parse(String data) { String[] parts = TextUtil.splitWithParenthesis(data, ' ', '\"', '\"'); if(parts.length == 1 || parts.length == 2) { if(!StringUtils.isAlphanumericSpace(parts[0])) @@ -43,4 +42,9 @@ public class AuthorizePacket extends Packet { return UnknownPacket.parse(data); } + @Override + public PacketOpcode getOpCode() { + return PacketOpcode.Authorize; + } + } diff --git a/src/main/java/forge/net/protocol/incoming/ChatPacket.java b/src/main/java/forge/net/protocol/incoming/ChatPacket.java index b304d95bf68..7dc7db24210 100644 --- a/src/main/java/forge/net/protocol/incoming/ChatPacket.java +++ b/src/main/java/forge/net/protocol/incoming/ChatPacket.java @@ -5,14 +5,19 @@ package forge.net.protocol.incoming; * TODO: Write javadoc for this type. * */ -public class ChatPacket extends Packet { +public class ChatPacket implements IPacket { private final String message; public ChatPacket(String data) { - super(PacketOpcode.Chat); message = data; } public String getMessage() { return message; } + + @Override + public PacketOpcode getOpCode() { + return PacketOpcode.Chat; + } + } diff --git a/src/main/java/forge/net/protocol/incoming/EchoPacket.java b/src/main/java/forge/net/protocol/incoming/EchoPacket.java index 4c5fcd43799..7bb14e314bb 100644 --- a/src/main/java/forge/net/protocol/incoming/EchoPacket.java +++ b/src/main/java/forge/net/protocol/incoming/EchoPacket.java @@ -5,11 +5,10 @@ package forge.net.protocol.incoming; * TODO: Write javadoc for this type. * */ -public class EchoPacket extends Packet { +public class EchoPacket implements IPacket { private final String message; private EchoPacket(String data) { - super(PacketOpcode.Echo); message = data; } @@ -20,5 +19,10 @@ public class EchoPacket extends Packet { public String getMessage() { return message; } + + @Override + public PacketOpcode getOpCode() { + return PacketOpcode.Echo; + } } diff --git a/src/main/java/forge/net/protocol/incoming/IPacket.java b/src/main/java/forge/net/protocol/incoming/IPacket.java new file mode 100644 index 00000000000..1e77554e879 --- /dev/null +++ b/src/main/java/forge/net/protocol/incoming/IPacket.java @@ -0,0 +1,10 @@ +package forge.net.protocol.incoming; + + +/** + * TODO: Write javadoc for this type. + * + */ +public interface IPacket { + PacketOpcode getOpCode(); +} diff --git a/src/main/java/forge/net/protocol/incoming/IncorrectPacket.java b/src/main/java/forge/net/protocol/incoming/IncorrectPacket.java index b09c832f019..6f2beedf17e 100644 --- a/src/main/java/forge/net/protocol/incoming/IncorrectPacket.java +++ b/src/main/java/forge/net/protocol/incoming/IncorrectPacket.java @@ -4,14 +4,13 @@ package forge.net.protocol.incoming; * TODO: Write javadoc for this type. * */ -public class IncorrectPacket extends Packet { +public class IncorrectPacket implements IPacket { private final PacketOpcode intendedCode; private final int index; private final String sParam; public IncorrectPacket(PacketOpcode code, int iParameter, String value) { - super(PacketOpcode.Incorrect); intendedCode = code; index = iParameter; sParam = value; @@ -29,4 +28,9 @@ public class IncorrectPacket extends Packet { return intendedCode; } + @Override + public PacketOpcode getOpCode() { + return PacketOpcode.Incorrect; + } + } diff --git a/src/main/java/forge/net/protocol/incoming/Packet.java b/src/main/java/forge/net/protocol/incoming/Packet.java deleted file mode 100644 index cdfcdb67552..00000000000 --- a/src/main/java/forge/net/protocol/incoming/Packet.java +++ /dev/null @@ -1,18 +0,0 @@ -package forge.net.protocol.incoming; - - -/** - * TODO: Write javadoc for this type. - * - */ -public abstract class Packet { - private final PacketOpcode opCode; - - public Packet(PacketOpcode code) { - opCode = code; - } - - public final PacketOpcode getOpCode() { - return opCode; - } -} diff --git a/src/main/java/forge/net/protocol/incoming/PacketOpcode.java b/src/main/java/forge/net/protocol/incoming/PacketOpcode.java index 856ce870765..face2ed2c53 100644 --- a/src/main/java/forge/net/protocol/incoming/PacketOpcode.java +++ b/src/main/java/forge/net/protocol/incoming/PacketOpcode.java @@ -30,7 +30,7 @@ public enum PacketOpcode { * @param data * @return */ - public static Packet decode(String data) { + public static IPacket decode(String data) { for(PacketOpcode s : PacketOpcode.values()) { if ( s.opcode != null && data.startsWith(s.opcode) ) return decodePacket(s, data.substring(s.opcode.length()).trim()); @@ -42,7 +42,7 @@ public enum PacketOpcode { } - private static Packet decodePacket(PacketOpcode code, String data) { + private static IPacket decodePacket(PacketOpcode code, String data) { switch(code) { case Echo: return EchoPacket.parse(data); diff --git a/src/main/java/forge/net/protocol/incoming/UnknownPacket.java b/src/main/java/forge/net/protocol/incoming/UnknownPacket.java index 302fa23617b..046029868a4 100644 --- a/src/main/java/forge/net/protocol/incoming/UnknownPacket.java +++ b/src/main/java/forge/net/protocol/incoming/UnknownPacket.java @@ -5,11 +5,10 @@ package forge.net.protocol.incoming; * TODO: Write javadoc for this type. * */ -public class UnknownPacket extends Packet { +public class UnknownPacket implements IPacket { private final String message; private UnknownPacket(String data) { - super(PacketOpcode.Unknown); message = data; } public String getMessage() { @@ -20,8 +19,14 @@ public class UnknownPacket extends Packet { * @param substring * @return */ - public static Packet parse(String substring) { + public static IPacket parse(String substring) { return new UnknownPacket(substring); } + + @Override + public PacketOpcode getOpCode() { + return PacketOpcode.Unknown; + } + }