mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +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/AuthorizePacket.java -text
|
||||||
src/main/java/forge/net/protocol/incoming/ChatPacket.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/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/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/PacketOpcode.java -text
|
||||||
src/main/java/forge/net/protocol/incoming/UnknownPacket.java -text
|
src/main/java/forge/net/protocol/incoming/UnknownPacket.java -text
|
||||||
src/main/java/forge/net/protocol/incoming/package-info.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.ConnectedClientState;
|
||||||
import forge.net.client.state.UnauthorizedClientState;
|
import forge.net.client.state.UnauthorizedClientState;
|
||||||
import forge.net.client.state.IClientState;
|
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.incoming.PacketOpcode;
|
||||||
import forge.net.protocol.outcoming.IMessage;
|
import forge.net.protocol.outcoming.IMessage;
|
||||||
|
|
||||||
@@ -46,7 +46,7 @@ public class NetClient implements IConnectionObserver, INetClient{
|
|||||||
/** Receives input from network client */
|
/** Receives input from network client */
|
||||||
@Override
|
@Override
|
||||||
public void onMessage(String data) {
|
public void onMessage(String data) {
|
||||||
Packet p = PacketOpcode.decode(data);
|
IPacket p = PacketOpcode.decode(data);
|
||||||
for(IClientState s : state) {
|
for(IClientState s : state) {
|
||||||
if ( s.processPacket(p) )
|
if ( s.processPacket(p) )
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package forge.net.client.state;
|
|||||||
import forge.net.client.INetClient;
|
import forge.net.client.INetClient;
|
||||||
import forge.net.protocol.incoming.EchoPacket;
|
import forge.net.protocol.incoming.EchoPacket;
|
||||||
import forge.net.protocol.incoming.IncorrectPacket;
|
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.EchoMessage;
|
||||||
import forge.net.protocol.outcoming.IncorrectPacketMessage;
|
import forge.net.protocol.outcoming.IncorrectPacketMessage;
|
||||||
import forge.net.protocol.outcoming.UnknownPacketMessage;
|
import forge.net.protocol.outcoming.UnknownPacketMessage;
|
||||||
@@ -19,7 +19,7 @@ public class ConnectedClientState implements IClientState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean processPacket(Packet packet ) {
|
public boolean processPacket(IPacket packet ) {
|
||||||
switch( packet.getOpCode() ) {
|
switch( packet.getOpCode() ) {
|
||||||
case Echo:
|
case Echo:
|
||||||
EchoPacket pe = (EchoPacket)packet;
|
EchoPacket pe = (EchoPacket)packet;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package forge.net.client.state;
|
package forge.net.client.state;
|
||||||
|
|
||||||
import forge.net.protocol.incoming.Packet;
|
import forge.net.protocol.incoming.IPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public interface IClientState {
|
public interface IClientState {
|
||||||
boolean processPacket(Packet data);
|
boolean processPacket(IPacket data);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package forge.net.client.state;
|
package forge.net.client.state;
|
||||||
|
|
||||||
import forge.net.client.INetClient;
|
import forge.net.client.INetClient;
|
||||||
import forge.net.protocol.incoming.Packet;
|
import forge.net.protocol.incoming.IPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
@@ -15,7 +15,7 @@ public class InLobbyClientState implements IClientState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean processPacket(Packet data) {
|
public boolean processPacket(IPacket data) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,7 @@ import forge.game.player.LobbyPlayer;
|
|||||||
import forge.game.player.PlayerType;
|
import forge.game.player.PlayerType;
|
||||||
import forge.net.client.INetClient;
|
import forge.net.client.INetClient;
|
||||||
import forge.net.protocol.incoming.AuthorizePacket;
|
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.incoming.PacketOpcode;
|
||||||
import forge.net.protocol.outcoming.AuthorizationSuccessfulMessage;
|
import forge.net.protocol.outcoming.AuthorizationSuccessfulMessage;
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ public class UnauthorizedClientState implements IClientState {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean processPacket(Packet packet) {
|
public boolean processPacket(IPacket packet) {
|
||||||
if( packet.getOpCode() == PacketOpcode.Authorize ) {
|
if( packet.getOpCode() == PacketOpcode.Authorize ) {
|
||||||
AuthorizePacket p = (AuthorizePacket)packet;
|
AuthorizePacket p = (AuthorizePacket)packet;
|
||||||
if( true ) { // check credentials here!
|
if( true ) { // check credentials here!
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ import forge.util.TextUtil;
|
|||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class AuthorizePacket extends Packet {
|
public class AuthorizePacket implements IPacket {
|
||||||
private final String username;
|
private final String username;
|
||||||
private final String password;
|
private final String password;
|
||||||
|
|
||||||
private AuthorizePacket(String name, String pass) {
|
private AuthorizePacket(String name, String pass) {
|
||||||
super(PacketOpcode.Authorize);
|
|
||||||
username = name;
|
username = name;
|
||||||
password = pass;
|
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, ' ', '\"', '\"');
|
String[] parts = TextUtil.splitWithParenthesis(data, ' ', '\"', '\"');
|
||||||
if(parts.length == 1 || parts.length == 2) {
|
if(parts.length == 1 || parts.length == 2) {
|
||||||
if(!StringUtils.isAlphanumericSpace(parts[0]))
|
if(!StringUtils.isAlphanumericSpace(parts[0]))
|
||||||
@@ -43,4 +42,9 @@ public class AuthorizePacket extends Packet {
|
|||||||
return UnknownPacket.parse(data);
|
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.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class ChatPacket extends Packet {
|
public class ChatPacket implements IPacket {
|
||||||
private final String message;
|
private final String message;
|
||||||
public ChatPacket(String data) {
|
public ChatPacket(String data) {
|
||||||
super(PacketOpcode.Chat);
|
|
||||||
message = data;
|
message = data;
|
||||||
}
|
}
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PacketOpcode getOpCode() {
|
||||||
|
return PacketOpcode.Chat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,11 +5,10 @@ package forge.net.protocol.incoming;
|
|||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class EchoPacket extends Packet {
|
public class EchoPacket implements IPacket {
|
||||||
|
|
||||||
private final String message;
|
private final String message;
|
||||||
private EchoPacket(String data) {
|
private EchoPacket(String data) {
|
||||||
super(PacketOpcode.Echo);
|
|
||||||
message = data;
|
message = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,4 +20,9 @@ public class EchoPacket extends Packet {
|
|||||||
return message;
|
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.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class IncorrectPacket extends Packet {
|
public class IncorrectPacket implements IPacket {
|
||||||
|
|
||||||
private final PacketOpcode intendedCode;
|
private final PacketOpcode intendedCode;
|
||||||
private final int index;
|
private final int index;
|
||||||
private final String sParam;
|
private final String sParam;
|
||||||
|
|
||||||
public IncorrectPacket(PacketOpcode code, int iParameter, String value) {
|
public IncorrectPacket(PacketOpcode code, int iParameter, String value) {
|
||||||
super(PacketOpcode.Incorrect);
|
|
||||||
intendedCode = code;
|
intendedCode = code;
|
||||||
index = iParameter;
|
index = iParameter;
|
||||||
sParam = value;
|
sParam = value;
|
||||||
@@ -29,4 +28,9 @@ public class IncorrectPacket extends Packet {
|
|||||||
return intendedCode;
|
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
|
* @param data
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Packet decode(String data) {
|
public static IPacket decode(String data) {
|
||||||
for(PacketOpcode s : PacketOpcode.values()) {
|
for(PacketOpcode s : PacketOpcode.values()) {
|
||||||
if ( s.opcode != null && data.startsWith(s.opcode) )
|
if ( s.opcode != null && data.startsWith(s.opcode) )
|
||||||
return decodePacket(s, data.substring(s.opcode.length()).trim());
|
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) {
|
switch(code) {
|
||||||
case Echo:
|
case Echo:
|
||||||
return EchoPacket.parse(data);
|
return EchoPacket.parse(data);
|
||||||
|
|||||||
@@ -5,11 +5,10 @@ package forge.net.protocol.incoming;
|
|||||||
* TODO: Write javadoc for this type.
|
* TODO: Write javadoc for this type.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class UnknownPacket extends Packet {
|
public class UnknownPacket implements IPacket {
|
||||||
|
|
||||||
private final String message;
|
private final String message;
|
||||||
private UnknownPacket(String data) {
|
private UnknownPacket(String data) {
|
||||||
super(PacketOpcode.Unknown);
|
|
||||||
message = data;
|
message = data;
|
||||||
}
|
}
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
@@ -20,8 +19,14 @@ public class UnknownPacket extends Packet {
|
|||||||
* @param substring
|
* @param substring
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static Packet parse(String substring) {
|
public static IPacket parse(String substring) {
|
||||||
return new UnknownPacket(substring);
|
return new UnknownPacket(substring);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PacketOpcode getOpCode() {
|
||||||
|
return PacketOpcode.Unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user