org.atmosphere.cpr
Class DefaultBroadcaster

java.lang.Object
  extended by org.atmosphere.cpr.DefaultBroadcaster
All Implemented Interfaces:
Broadcaster<HttpServletRequest,HttpServletResponse,String>

public class DefaultBroadcaster
extends Object
implements Broadcaster<HttpServletRequest,HttpServletResponse,String>

Broadcaster implementation. Broadcast messages to suspended reponse using the caller's Thread. This basic Broadcaster isn't using any ExecutorService to broadcast messages, so it is single threaded.

Author:
Jeanfrancois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.Broadcaster
Broadcaster.SCOPE
 
Constructor Summary
DefaultBroadcaster()
           
 
Method Summary
 AtmosphereEvent<HttpServletRequest,HttpServletResponse> addAtmosphereEvent(AtmosphereEvent<HttpServletRequest,HttpServletResponse> event)
          Add a AtmosphereEvent to the list of item to be notified when the Broadcaster.broadcast(F) is invoked.
protected  ConcurrentLinkedQueue<AtmosphereEvent<HttpServletRequest,HttpServletResponse>> atmosphereEvents()
          Return the list of AtmosphereEvent registered with this Broadcaster
 BroadcasterFuture<String> broadcast(String msg)
          Broadcast the F to all suspended response, e.g.
 BroadcasterFuture<String> broadcast(String msg, AtmosphereEvent event)
          Broadcast the F to all suspended response, e.g.
 BroadcasterFuture<String> broadcast(String msg, Set<AtmosphereEvent> subset)
          Broadcast the F to all suspended response, e.g.
 void destroy()
          Destroy this instance and shutdown it's associated ExecutorServices
 Iterator<AtmosphereEvent<HttpServletRequest,HttpServletResponse>> getAtmosphereEvents()
          Return an Iterator of AtmosphereEvent
 BroadcasterConfig getBroadcasterConfig()
          Return the current BroadcasterConfig
 String getName()
          Return the name of this Broadcaster
 Broadcaster.SCOPE getScope()
          Retunr the Broadcaster#SCOPE
 AtmosphereEvent<HttpServletRequest,HttpServletResponse> removeAtmosphereEvent(AtmosphereEvent<HttpServletRequest,HttpServletResponse> event)
          Remove a AtmosphereEvent from the list of item to be notified when the Broadcaster.broadcast(F) is invoked.
 void setBroadcasterConfig(BroadcasterConfig bc)
          Set the BroadcasterConfig instance.
 void setName(String name)
          Set the name of this Broadcaster
 void setScope(Broadcaster.SCOPE scope)
          Set the Broadcaster#SCOPE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultBroadcaster

public DefaultBroadcaster()
Method Detail

destroy

public void destroy()
Destroy this instance and shutdown it's associated ExecutorServices

Specified by:
destroy in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>

getAtmosphereEvents

public Iterator<AtmosphereEvent<HttpServletRequest,HttpServletResponse>> getAtmosphereEvents()
Return an Iterator of AtmosphereEvent

Specified by:
getAtmosphereEvents in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>

setScope

public void setScope(Broadcaster.SCOPE scope)
Set the Broadcaster#SCOPE

Specified by:
setScope in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>

getScope

public Broadcaster.SCOPE getScope()
Retunr the Broadcaster#SCOPE

Specified by:
getScope in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Returns:
Broadcaster#SCOPE

setName

public void setName(String name)
Set the name of this Broadcaster

Specified by:
setName in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
name - of this Broadcaster

getName

public String getName()
Return the name of this Broadcaster

Specified by:
getName in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Returns:
the name of this Broadcaster

broadcast

public BroadcasterFuture<String> broadcast(String msg)
Broadcast the F to all suspended response, e.g. invoke AtmosphereHandler.onMessage(org.atmosphere.cpr.AtmosphereEvent).

Specified by:
broadcast in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
msg - and F to be shared.
Returns:
the final F, which might have been transformed by BroadcasterFilter

broadcast

public BroadcasterFuture<String> broadcast(String msg,
                                           AtmosphereEvent event)
Broadcast the F to all suspended response, e.g. invoke AtmosphereHandler.onMessage(org.atmosphere.cpr.AtmosphereEvent) with an instance of AtmosphereEvent, representing a set of AtmosphereHandler.

Specified by:
broadcast in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
msg - and F to be shared.
event - an AtmosphereEvent
Returns:
the final F, which might have been transformed by BroadcasterFilter

broadcast

public BroadcasterFuture<String> broadcast(String msg,
                                           Set<AtmosphereEvent> subset)
Broadcast the F to all suspended response, e.g. invoke AtmosphereHandler.onMessage(org.atmosphere.cpr.AtmosphereEvent) with a Set of AtmosphereEvent, representing a set of AtmosphereHandler.

Specified by:
broadcast in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
msg - and F to be shared.
Returns:
the final F, which might have been transformed by BroadcasterFilter

addAtmosphereEvent

public AtmosphereEvent<HttpServletRequest,HttpServletResponse> addAtmosphereEvent(AtmosphereEvent<HttpServletRequest,HttpServletResponse> event)
Add a AtmosphereEvent to the list of item to be notified when the Broadcaster.broadcast(F) is invoked.

Specified by:
addAtmosphereEvent in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
event - an AtmosphereEvent
Returns:
AtmosphereEvent if added, or null if it was already there.

removeAtmosphereEvent

public AtmosphereEvent<HttpServletRequest,HttpServletResponse> removeAtmosphereEvent(AtmosphereEvent<HttpServletRequest,HttpServletResponse> event)
Remove a AtmosphereEvent from the list of item to be notified when the Broadcaster.broadcast(F) is invoked.

Specified by:
removeAtmosphereEvent in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
event - an AtmosphereEvent
Returns:
AtmosphereEvent if removed, or null if it was not.

atmosphereEvents

protected ConcurrentLinkedQueue<AtmosphereEvent<HttpServletRequest,HttpServletResponse>> atmosphereEvents()
Return the list of AtmosphereEvent registered with this Broadcaster

Returns:

setBroadcasterConfig

public void setBroadcasterConfig(BroadcasterConfig bc)
Set the BroadcasterConfig instance.

Specified by:
setBroadcasterConfig in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Parameters:
bf -

getBroadcasterConfig

public BroadcasterConfig getBroadcasterConfig()
Return the current BroadcasterConfig

Specified by:
getBroadcasterConfig in interface Broadcaster<HttpServletRequest,HttpServletResponse,String>
Returns:
the current BroadcasterConfig


Copyright © 2009 SUN Microsystems. All Rights Reserved.