Unwinding the ouroboros... modified these public API
classes to not expose their internals by implementing listeners directly. Moved the listeners inside. git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7005 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
e441958434
commit
212b5e243a
@ -54,7 +54,7 @@ import java.util.List;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class Client extends ServiceManager implements MessageListener, ConnectionListener {
|
public class Client extends ServiceManager {
|
||||||
protected Logger log = Logger.getLogger(Client.class.getName());
|
protected Logger log = Logger.getLogger(Client.class.getName());
|
||||||
|
|
||||||
protected static int clientIDCounter = 0;
|
protected static int clientIDCounter = 0;
|
||||||
@ -79,6 +79,7 @@ public class Client extends ServiceManager implements MessageListener, Connectio
|
|||||||
|
|
||||||
protected boolean isConnector;
|
protected boolean isConnector;
|
||||||
|
|
||||||
|
protected ClientObserver listener = new ClientObserver();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs this client.
|
* Constructs this client.
|
||||||
@ -211,10 +212,10 @@ public class Client extends ServiceManager implements MessageListener, Connectio
|
|||||||
|
|
||||||
private void registerInternalListeners() {
|
private void registerInternalListeners() {
|
||||||
if (tcp != null) {
|
if (tcp != null) {
|
||||||
tcp.addConnectionListener(this);
|
tcp.addConnectionListener(listener);
|
||||||
tcp.socketChannel.keyFor(tcp.selector).attach(this);
|
tcp.socketChannel.keyFor(tcp.selector).attach(this);
|
||||||
}
|
}
|
||||||
addMessageListener(this, DisconnectMessage.class);
|
addMessageListener(listener, DisconnectMessage.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -517,6 +518,23 @@ public class Client extends ServiceManager implements MessageListener, Connectio
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj == null || !(obj instanceof Client || obj instanceof Integer)) {
|
||||||
|
return false;
|
||||||
|
} else if (obj instanceof Client){
|
||||||
|
return ((Client)obj).getClientID() == getClientID();
|
||||||
|
} else if (obj instanceof Integer) {
|
||||||
|
return ((Integer)obj).intValue() == getClientID();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected class ClientObserver implements MessageListener, ConnectionListener {
|
||||||
|
|
||||||
public void messageReceived(Message message) {
|
public void messageReceived(Message message) {
|
||||||
try {
|
try {
|
||||||
disconnectInternal((DisconnectMessage)message);
|
disconnectInternal((DisconnectMessage)message);
|
||||||
@ -567,20 +585,6 @@ public class Client extends ServiceManager implements MessageListener, Connectio
|
|||||||
thread = null;
|
thread = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* {@inheritDoc}
|
|
||||||
*/
|
|
||||||
public boolean equals(Object obj) {
|
|
||||||
if (obj == null || !(obj instanceof Client || obj instanceof Integer)) {
|
|
||||||
return false;
|
|
||||||
} else if (obj instanceof Client){
|
|
||||||
return ((Client)obj).getClientID() == getClientID();
|
|
||||||
} else if (obj instanceof Integer) {
|
|
||||||
return ((Integer)obj).intValue() == getClientID();
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ import java.util.logging.Logger;
|
|||||||
*
|
*
|
||||||
* @author Lars Wesselius
|
* @author Lars Wesselius
|
||||||
*/
|
*/
|
||||||
public class Server extends ServiceManager implements MessageListener {
|
public class Server extends ServiceManager {
|
||||||
protected Logger log = Logger.getLogger(Server.class.getName());
|
protected Logger log = Logger.getLogger(Server.class.getName());
|
||||||
|
|
||||||
protected static int serverIDCounter = 0;
|
protected static int serverIDCounter = 0;
|
||||||
@ -75,6 +75,8 @@ public class Server extends ServiceManager implements MessageListener {
|
|||||||
|
|
||||||
protected ClientManager clientManager = new ClientManager();
|
protected ClientManager clientManager = new ClientManager();
|
||||||
|
|
||||||
|
protected MessageListener listener = new ServerMessageObserver();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default constructor. Sets the label to
|
* Default constructor. Sets the label to
|
||||||
* <code>Server#[serverID]</code>
|
* <code>Server#[serverID]</code>
|
||||||
@ -171,12 +173,12 @@ public class Server extends ServiceManager implements MessageListener {
|
|||||||
|
|
||||||
private void registerInternalListeners() {
|
private void registerInternalListeners() {
|
||||||
if (tcp != null) {
|
if (tcp != null) {
|
||||||
tcp.addMessageListener(DisconnectMessage.class, this);
|
tcp.addMessageListener(DisconnectMessage.class, listener);
|
||||||
tcp.addMessageListener(ClientRegistrationMessage.class, clientManager);
|
tcp.addMessageListener(ClientRegistrationMessage.class, clientManager);
|
||||||
tcp.addConnectionListener(clientManager);
|
tcp.addConnectionListener(clientManager);
|
||||||
}
|
}
|
||||||
if (udp != null) {
|
if (udp != null) {
|
||||||
udp.addMessageListener(DisconnectMessage.class, this);
|
udp.addMessageListener(DisconnectMessage.class, listener);
|
||||||
udp.addMessageListener(ClientRegistrationMessage.class, clientManager);
|
udp.addMessageListener(ClientRegistrationMessage.class, clientManager);
|
||||||
udp.addConnectionListener(clientManager);
|
udp.addConnectionListener(clientManager);
|
||||||
}
|
}
|
||||||
@ -423,6 +425,8 @@ public class Server extends ServiceManager implements MessageListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected class ServerMessageObserver implements MessageListener {
|
||||||
|
|
||||||
public void messageReceived(Message message) {
|
public void messageReceived(Message message) {
|
||||||
// Right now, this is definitely a DisconnectMessage.
|
// Right now, this is definitely a DisconnectMessage.
|
||||||
DisconnectMessage dcMessage = (DisconnectMessage)message;
|
DisconnectMessage dcMessage = (DisconnectMessage)message;
|
||||||
@ -451,3 +455,4 @@ public class Server extends ServiceManager implements MessageListener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user