org.atmosphere.cpr
Class AtmosphereEventImpl

java.lang.Object
  extended by org.atmosphere.cpr.AtmosphereEventImpl
All Implemented Interfaces:
AtmosphereEvent<HttpServletRequest,HttpServletResponse>

public class AtmosphereEventImpl
extends Object
implements AtmosphereEvent<HttpServletRequest,HttpServletResponse>

AtmosphereEvent implementation for supporting HttpServletRequest and HttpServletResponse.

Author:
Jeanfrancois Arcand

Field Summary
protected  AtmosphereServlet.Action action
           
protected  Broadcaster broadcaster
           
protected  CometSupport cometSupport
           
protected  boolean isResumedOnTimeout
           
protected  Object message
           
 
Constructor Summary
AtmosphereEventImpl(AtmosphereServlet.AtmosphereConfig config, Broadcaster broadcaster, HttpServletRequest req, HttpServletResponse res, CometSupport cometSupport)
          Create an AtmosphereEvent.
 
Method Summary
 AtmosphereServlet.Action action()
          Return the AtmosphereServlet.Action which represent the state of the response, e.g.
 AtmosphereServlet.AtmosphereConfig getAtmosphereConfig()
          Return the AtmosphereServlet.AtmosphereConfig
 Broadcaster getBroadcaster()
          Return the current Broadcaster
 Object getMessage()
          Return the object that were pass to Broadcaster.broadcast(java.lang.Object)
 HttpServletRequest getRequest()
          Return the underlying Request.
 HttpServletResponse getResponse()
          Return the underlying Response.
 boolean isCancelled()
          Return true when the remote client close the connection.
 boolean isResumedOnTimeout()
          Return true is the response gets resumed after a timeout.
 boolean isResuming()
          Return true if that AtmosphereEvent.resume() has been invoked
 boolean isSuspended()
          Return true if that AtmosphereEvent.suspend() has been invoked and set to true
protected  void reset(HttpServletRequest req, HttpServletResponse res)
           
 void resume()
          Complete the HttpServletResponse and finish/commit it.
 void setBroadcaster(Broadcaster broadcaster)
          Set the current Broadcaster
protected  void setCancelled(boolean isCancelled)
           
protected  void setMessage(Object message)
          Set the message broadacasted using Broadcaster.broadcast(java.lang.Object)
 void suspend()
          Suspend the HttpServletResponse indefinitely.
 void suspend(long timeout)
          Suspend the HttpServletResponse.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

action

protected AtmosphereServlet.Action action

broadcaster

protected Broadcaster broadcaster

message

protected Object message

isResumedOnTimeout

protected boolean isResumedOnTimeout

cometSupport

protected CometSupport cometSupport
Constructor Detail

AtmosphereEventImpl

public AtmosphereEventImpl(AtmosphereServlet.AtmosphereConfig config,
                           Broadcaster broadcaster,
                           HttpServletRequest req,
                           HttpServletResponse res,
                           CometSupport cometSupport)
Create an AtmosphereEvent.

Parameters:
config -
broadcaster - The Broadcaster.
req - The HttpServletRequest
res - The HttpServletResponse
Method Detail

resume

public void resume()
Complete the HttpServletResponse and finish/commit it. If the HttpServletResponse is in the process of being resumed, invoking that method has no effect.

Specified by:
resume in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

isResuming

public boolean isResuming()
Return true if that AtmosphereEvent.resume() has been invoked

Specified by:
isResuming in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
true if that AtmosphereEvent.resume() has been invoked and set to true

isSuspended

public boolean isSuspended()
Return true if that AtmosphereEvent.suspend() has been invoked and set to true

Specified by:
isSuspended in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
true if that AtmosphereEvent.suspend() has been invoked and set to true

suspend

public void suspend()
Suspend the HttpServletResponse indefinitely. Suspending a HttpServletResponse will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid commiting response.

Specified by:
suspend in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

suspend

public void suspend(long timeout)
Suspend the HttpServletResponse. Suspending a HttpServletResponse will tell the underlying container to avoid recycling objects associated with the current instance, and also to avoid commiting response. Invoking this method when a request is being timed out, e.g. isResumedOnTimeout return true, has no effect.

Specified by:
suspend in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Parameters:
timeout - The maximum amount of time, in milliseconds, a HttpServletResponse can be suspended. When the timeout expires (because nothing has been written or because the AtmosphereEvent.resume() or AtmosphereEvent#cancel()), the HttpServletResponse will be automatically resumed and commited. Usage of any methods of a HttpServletResponse that times out will throw an IllegalStateException.

getRequest

public HttpServletRequest getRequest()
Return the underlying Request.

Specified by:
getRequest in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
E the underlying Request.

getResponse

public HttpServletResponse getResponse()
Return the underlying Response.

Specified by:
getResponse in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
F the underlying Response.

getBroadcaster

public Broadcaster getBroadcaster()
Return the current Broadcaster

Specified by:
getBroadcaster in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

setBroadcaster

public void setBroadcaster(Broadcaster broadcaster)
Set the current Broadcaster

Specified by:
setBroadcaster in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

reset

protected void reset(HttpServletRequest req,
                     HttpServletResponse res)

getMessage

public Object getMessage()
Return the object that were pass to Broadcaster.broadcast(java.lang.Object)

Specified by:
getMessage in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
the object that were pass to Broadcaster.broadcast(java.lang.Object)

setMessage

protected void setMessage(Object message)
Set the message broadacasted using Broadcaster.broadcast(java.lang.Object)

Parameters:
message - The message broadacasted using Broadcaster.broadcast(java.lang.Object)

getAtmosphereConfig

public AtmosphereServlet.AtmosphereConfig getAtmosphereConfig()
Return the AtmosphereServlet.AtmosphereConfig

Specified by:
getAtmosphereConfig in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>
Returns:
the AtmosphereServlet.AtmosphereConfig

isResumedOnTimeout

public boolean isResumedOnTimeout()
Return true is the response gets resumed after a timeout.

Specified by:
isResumedOnTimeout in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

action

public AtmosphereServlet.Action action()
Return the AtmosphereServlet.Action which represent the state of the response, e.g. suspended, resumed or timedout.

Returns:

isCancelled

public boolean isCancelled()
Return true when the remote client close the connection.

Specified by:
isCancelled in interface AtmosphereEvent<HttpServletRequest,HttpServletResponse>

setCancelled

protected void setCancelled(boolean isCancelled)


Copyright © 2009 SUN Microsystems. All Rights Reserved.