removed superclass for packet, interface looks better

This commit is contained in:
Maxmtg
2013-04-14 10:59:04 +00:00
parent 3eed2f993b
commit 07fbc7c6a9
14 changed files with 57 additions and 43 deletions

2
.gitattributes vendored
View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}

View File

@@ -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;
}
}

View File

@@ -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!

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
@@ -21,4 +20,9 @@ public class EchoPacket extends Packet {
return message;
}
@Override
public PacketOpcode getOpCode() {
return PacketOpcode.Echo;
}
}

View File

@@ -0,0 +1,10 @@
package forge.net.protocol.incoming;
/**
* TODO: Write javadoc for this type.
*
*/
public interface IPacket {
PacketOpcode getOpCode();
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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);

View File

@@ -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;
}
}