public abstract class InputHandler extends FreeColServerHolder implements MessageHandler
Controller
Modifier and Type | Class and Description |
---|---|
private class |
InputHandler.DisconnectHandler |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,NetworkRequestHandler> |
_handlerMap
The handler map provides named handlers for network requests.
|
private static java.util.logging.Logger |
logger |
Constructor and Description |
---|
InputHandler(FreeColServer freeColServer)
The constructor to use.
|
Modifier and Type | Method and Description |
---|---|
protected org.w3c.dom.Element |
createErrorReply(java.lang.String message)
Create a reply message with an error.
|
org.w3c.dom.Element |
handle(Connection connection,
org.w3c.dom.Element element)
Deals with incoming messages that have just been received.
|
protected abstract org.w3c.dom.Element |
logout(Connection connection,
org.w3c.dom.Element element)
Handles a "logout"-message.
|
protected void |
register(java.lang.String name,
NetworkRequestHandler handler)
Register a network request handler.
|
private void |
sendReconnectSafely(Connection connection)
Send a reconnect message ignoring (but logging) IO errors.
|
protected boolean |
unregister(java.lang.String name,
NetworkRequestHandler handler)
Unregister a network request handler.
|
getFreeColServer, getGame
private static final java.util.logging.Logger logger
private final java.util.Map<java.lang.String,NetworkRequestHandler> _handlerMap
public InputHandler(FreeColServer freeColServer)
freeColServer
- The main server object.protected final void register(java.lang.String name, NetworkRequestHandler handler)
name
- The name.handler
- The handler.protected final boolean unregister(java.lang.String name, NetworkRequestHandler handler)
name
- The name.handler
- The handler.public final org.w3c.dom.Element handle(Connection connection, org.w3c.dom.Element element)
handle
in interface MessageHandler
connection
- The Connection
the message was received
on.element
- The root element of the message.private void sendReconnectSafely(Connection connection)
connection
- The connection.protected org.w3c.dom.Element createErrorReply(java.lang.String message)
message
- The error message.protected abstract org.w3c.dom.Element logout(Connection connection, org.w3c.dom.Element element)
connection
- The Connection
the message was received
on.element
- The Element
(root element in a
DOM-parsed XML tree) that holds all the information.