org.atmosphere.handler
Class OnMessage<T>

java.lang.Object
  extended by org.atmosphere.handler.AbstractReflectorAtmosphereHandler
      extended by org.atmosphere.handler.OnMessage<T>
All Implemented Interfaces:
AtmosphereHandler

public abstract class OnMessage<T>
extends AbstractReflectorAtmosphereHandler

Simple AtmosphereHandler that can be used with the AtmosphereResourceLifecycleInterceptor and BroadcastOnPostAtmosphereInterceptor to reduce the handling of the suspend/resume/disconnect and broadcast operation.

Author:
Jeanfrancois Arcand

Constructor Summary
OnMessage()
           
 
Method Summary
 void destroy()
          Destroy this handler
abstract  void onMessage(AtmosphereResponse response, T message)
          Implement this method to get invoked every time a new Broadcaster.broadcast(Object) occurs.
 void onRequest(AtmosphereResource resource)
          When a client send a request to its associated AtmosphereHandler, it can decide if the underlying connection can be suspended (creating a Continuation) or handle the connection synchronously.
 void onStateChange(AtmosphereResourceEvent event)
          Write the AtmosphereResourceEvent.getMessage() back to the client using the AtmosphereResponse.getOutputStream() or AtmosphereResponse.getWriter().
 
Methods inherited from class org.atmosphere.handler.AbstractReflectorAtmosphereHandler
postStateChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OnMessage

public OnMessage()
Method Detail

onRequest

public final void onRequest(AtmosphereResource resource)
                     throws IOException
Description copied from interface: AtmosphereHandler
When a client send a request to its associated AtmosphereHandler, it can decide if the underlying connection can be suspended (creating a Continuation) or handle the connection synchronously.

It is recommended to only suspend request for which HTTP method is a GET and use the POST method to send data to the server, without marking the connection as asynchronous.

Parameters:
resource - an AtmosphereResource
Throws:
IOException

onStateChange

public final void onStateChange(AtmosphereResourceEvent event)
                         throws IOException
Description copied from class: AbstractReflectorAtmosphereHandler
Write the AtmosphereResourceEvent.getMessage() back to the client using the AtmosphereResponse.getOutputStream() or AtmosphereResponse.getWriter(). If a Serializer is defined, it will be invoked and the writ operation will be delegated to to it.

By default, this method will try to use AtmosphereResponse.getWriter().

Specified by:
onStateChange in interface AtmosphereHandler
Overrides:
onStateChange in class AbstractReflectorAtmosphereHandler
Parameters:
event - the AtmosphereResourceEvent.getMessage()
Throws:
IOException

destroy

public final void destroy()
Description copied from interface: AtmosphereHandler
Destroy this handler


onMessage

public abstract void onMessage(AtmosphereResponse response,
                               T message)
                        throws IOException
Implement this method to get invoked every time a new Broadcaster.broadcast(Object) occurs.

Parameters:
message - a message of type T
Throws:
IOException


Copyright © 2013. All Rights Reserved.