org.atmosphere.gwt.server
Class AtmosphereGwtHandler

java.lang.Object
  extended by org.atmosphere.handler.AbstractReflectorAtmosphereHandler
      extended by org.atmosphere.gwt.server.AtmosphereGwtHandler
All Implemented Interfaces:
Executor, org.atmosphere.cpr.AtmosphereHandler, org.atmosphere.cpr.AtmosphereServletProcessor

public class AtmosphereGwtHandler
extends org.atmosphere.handler.AbstractReflectorAtmosphereHandler
implements Executor, org.atmosphere.cpr.AtmosphereServletProcessor

Author:
p.havelaar

Field Summary
static int DO_COMET_RESUME
           
static String GWT_BROADCASTER_ID
           
protected  org.slf4j.Logger logger
           
static int NO_TIMEOUT
           
 
Constructor Summary
AtmosphereGwtHandler()
           
 
Method Summary
 void broadcast(List<?> messages, GwtAtmosphereResource resource)
           
 void broadcast(Object message, GwtAtmosphereResource resource)
           
 void cometTerminated(GwtAtmosphereResource cometResponse, boolean serverInitiated)
          When the connection has been terminated method will be called to let you know about it.
protected  int computeHeartbeat(int requestedHeartbeat)
           
protected  Object deserialize(char[] data, SerialMode mode)
           
protected  Object deserialize(String data, SerialMode mode)
           
 void destroy()
           
 void disconnect(GwtAtmosphereResource resource)
           
 int doComet(GwtAtmosphereResource resource)
          This is the main entrypoint on the server that you will want to hook into and override.
 void doPost(javax.servlet.http.HttpServletRequest postRequest, javax.servlet.http.HttpServletResponse postResponse, List<?> messages, GwtAtmosphereResource cometResource)
          Called when a message is sent from the client using the post method.
protected  void doServerMessage(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String connectionUUID)
           
 void execute(Runnable command)
          Execute a task in a seperate thread, the thread pool will grow and shrink depending on demand
protected  SerialMode getDefaultSerialMode()
           Specifies the default SerialMode for this AtmosphereHandler.
protected  GwtRpcDeserializer getGwtRpc()
           
 int getHeartbeat()
           
protected  JSONDeserializer getJSONDeserializer()
           
 javax.servlet.ServletContext getServletContext()
           
 void init(javax.servlet.ServletConfig servletConfig)
           
 boolean isEscapeText()
           
protected  GwtAtmosphereResource lookupResource(String connectionUUID)
          This can be used to lookup a resource for instance if you are implementing a remote service call The unique UUID is set by the framework
 void onRequest(org.atmosphere.cpr.AtmosphereResource resource)
           
 void post(javax.servlet.http.HttpServletRequest postRequest, javax.servlet.http.HttpServletResponse postResponse, List<?> messages, GwtAtmosphereResource cometResource)
           
protected  void reapResources()
           
 void setEscapeText(boolean escapeText)
           
 void setHeartbeat(int heartbeat)
           
 void terminate(GwtAtmosphereResource cometResponse, boolean serverInitiated)
           
 String toString()
           
 
Methods inherited from class org.atmosphere.handler.AbstractReflectorAtmosphereHandler
onStateChange, postStateChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.atmosphere.cpr.AtmosphereHandler
onStateChange
 

Field Detail

NO_TIMEOUT

public static final int NO_TIMEOUT
See Also:
Constant Field Values

DO_COMET_RESUME

public static final int DO_COMET_RESUME
See Also:
Constant Field Values

GWT_BROADCASTER_ID

public static final String GWT_BROADCASTER_ID
See Also:
Constant Field Values

logger

protected final org.slf4j.Logger logger
Constructor Detail

AtmosphereGwtHandler

public AtmosphereGwtHandler()
Method Detail

doComet

public int doComet(GwtAtmosphereResource resource)
            throws javax.servlet.ServletException,
                   IOException
This is the main entrypoint on the server that you will want to hook into and override. This method is called when a client has request a new connection. Best practice is to do all your required setup here and tie the AtmosphereResource to a Broadcaster, but do not send anything to the client yet. If you wish to do so it is best to let the client send a notification to the server using the AtmosphereClient#post method in the onConnected event.

Parameters:
resource -
Returns:
Throws:
javax.servlet.ServletException
IOException

cometTerminated

public void cometTerminated(GwtAtmosphereResource cometResponse,
                            boolean serverInitiated)
When the connection has been terminated method will be called to let you know about it. This goes for every physical connection regardsless of whether the client reconnects again. This method will also be called when a connection is refreshed. The serverInitiated parameter simply means if the connection was terminated/stopped from serverside code or that the client decided to disconnect.

Parameters:
cometResponse -
serverInitiated -

doPost

public void doPost(javax.servlet.http.HttpServletRequest postRequest,
                   javax.servlet.http.HttpServletResponse postResponse,
                   List<?> messages,
                   GwtAtmosphereResource cometResource)
Called when a message is sent from the client using the post method. Default implementation echo's the message back to the client

Parameters:
messages -
cometResource -

lookupResource

protected GwtAtmosphereResource lookupResource(String connectionUUID)
This can be used to lookup a resource for instance if you are implementing a remote service call The unique UUID is set by the framework

Parameters:
connectionUUID -
Returns:

init

public void init(javax.servlet.ServletConfig servletConfig)
          throws javax.servlet.ServletException
Specified by:
init in interface org.atmosphere.cpr.AtmosphereServletProcessor
Throws:
javax.servlet.ServletException

destroy

public void destroy()
Specified by:
destroy in interface org.atmosphere.cpr.AtmosphereHandler
Overrides:
destroy in class org.atmosphere.handler.AbstractReflectorAtmosphereHandler

isEscapeText

public boolean isEscapeText()

setEscapeText

public void setEscapeText(boolean escapeText)

getHeartbeat

public int getHeartbeat()

setHeartbeat

public void setHeartbeat(int heartbeat)

getServletContext

public javax.servlet.ServletContext getServletContext()

reapResources

protected void reapResources()

onRequest

public void onRequest(org.atmosphere.cpr.AtmosphereResource resource)
               throws IOException
Specified by:
onRequest in interface org.atmosphere.cpr.AtmosphereHandler
Throws:
IOException

doServerMessage

protected void doServerMessage(javax.servlet.http.HttpServletRequest request,
                               javax.servlet.http.HttpServletResponse response,
                               String connectionUUID)
                        throws IOException
Throws:
IOException

getDefaultSerialMode

protected SerialMode getDefaultSerialMode()

Specifies the default SerialMode for this AtmosphereHandler. This value is used if no serial mode parameter is sent with the suspended request.

Returns:
default SerialMode if not specified in the suspended request's parameter map

deserialize

protected Object deserialize(char[] data,
                             SerialMode mode)
                      throws SerializationException
Throws:
SerializationException

deserialize

protected Object deserialize(String data,
                             SerialMode mode)
                      throws SerializationException
Throws:
SerializationException

getGwtRpc

protected GwtRpcDeserializer getGwtRpc()

getJSONDeserializer

protected JSONDeserializer getJSONDeserializer()

post

public final void post(javax.servlet.http.HttpServletRequest postRequest,
                       javax.servlet.http.HttpServletResponse postResponse,
                       List<?> messages,
                       GwtAtmosphereResource cometResource)

broadcast

public void broadcast(Object message,
                      GwtAtmosphereResource resource)

broadcast

public void broadcast(List<?> messages,
                      GwtAtmosphereResource resource)

disconnect

public void disconnect(GwtAtmosphereResource resource)

execute

public void execute(Runnable command)
Execute a task in a seperate thread, the thread pool will grow and shrink depending on demand

Specified by:
execute in interface Executor
Parameters:
command -

computeHeartbeat

protected int computeHeartbeat(int requestedHeartbeat)

terminate

public void terminate(GwtAtmosphereResource cometResponse,
                      boolean serverInitiated)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2013. All Rights Reserved.