mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
removed superclass for packet, interface looks better
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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!
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
10
src/main/java/forge/net/protocol/incoming/IPacket.java
Normal file
10
src/main/java/forge/net/protocol/incoming/IPacket.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package forge.net.protocol.incoming;
|
||||
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
*/
|
||||
public interface IPacket {
|
||||
PacketOpcode getOpCode();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user