org.atmosphere.cpr
Class DefaultBroadcasterFactory

java.lang.Object
  extended by org.atmosphere.cpr.BroadcasterFactory
      extended by org.atmosphere.cpr.DefaultBroadcasterFactory

public class DefaultBroadcasterFactory
extends BroadcasterFactory

This class is responsible for creating Broadcaster instances. You can also add and remove Broadcaster and lookup using BroadcasterFactory.getDefault() ()} from any classes loaded using the same class loader.

Author:
Jeanfrancois Arcand, Jason Burgess

Nested Class Summary
static class DefaultBroadcasterFactory.BroadcasterCreationException
           
 
Field Summary
protected  Broadcaster.POLICY defaultPolicy
           
protected  int defaultPolicyInteger
           
 
Fields inherited from class org.atmosphere.cpr.BroadcasterFactory
broadcasterListeners, config, factory
 
Constructor Summary
protected DefaultBroadcasterFactory(Class<? extends Broadcaster> clazz, String broadcasterLifeCyclePolicy, AtmosphereConfig c)
           
 
Method Summary
 boolean add(Broadcaster b, Object id)
          Add a Broadcaster to the list.
 BroadcasterFactory addBroadcasterListener(BroadcasterListener l)
           
static BroadcasterFactory buildAndReplaceDefaultfactory(Class<? extends Broadcaster> clazz, AtmosphereConfig c)
          Build a default BroadcasterFactory returned when invoking BroadcasterFactory.getDefault() ()}.
 void destroy()
          Shutdown all Broadcasters.
 Broadcaster get()
          Return an instance of the default Broadcaster.
<T extends Broadcaster>
T
get(Class<T> c, Object id)
          Create a new instance of Broadcaster and store it for.
 Broadcaster get(Object id)
          Create a new instance of Broadcaster and store it for.
<T extends Broadcaster>
T
lookup(Class<T> c, Object id)
          Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().
<T extends Broadcaster>
T
lookup(Class<T> c, Object id, boolean createIfNull)
          Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().
<T extends Broadcaster>
T
lookup(Class<T> c, Object id, boolean createIfNull, boolean unique)
           
 Broadcaster lookup(Object id)
          Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().
 Broadcaster lookup(Object id, boolean createIfNull)
          Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().
 Collection<Broadcaster> lookupAll()
          Return an immutable Collection of Broadcaster this factory contains.
 void notifyOnPostCreate(Broadcaster b)
           
 boolean remove(Broadcaster b, Object id)
          Remove a Broadcaster from the list.
 boolean remove(Object id)
          Remove the associated Broadcaster.
 void removeAllAtmosphereResource(AtmosphereResource r)
          Remove all instances of AtmosphereResource from all registered Broadcasters.
 BroadcasterFactory removeBroadcasterListener(BroadcasterListener l)
           
 
Methods inherited from class org.atmosphere.cpr.BroadcasterFactory
getDefault
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultPolicy

protected Broadcaster.POLICY defaultPolicy

defaultPolicyInteger

protected int defaultPolicyInteger
Constructor Detail

DefaultBroadcasterFactory

protected DefaultBroadcasterFactory(Class<? extends Broadcaster> clazz,
                                    String broadcasterLifeCyclePolicy,
                                    AtmosphereConfig c)
Method Detail

get

public final Broadcaster get()
Description copied from class: BroadcasterFactory
Return an instance of the default Broadcaster.

The name of the Broadcaster will be randomly generated.

Specified by:
get in class BroadcasterFactory
Returns:
an instance of the default Broadcaster

get

public final Broadcaster get(Object id)
Description copied from class: BroadcasterFactory
Create a new instance of Broadcaster and store it for.

Specified by:
get in class BroadcasterFactory
Parameters:
id - The unique ID used to retrieve Broadcaster
Returns:
a new instance of Broadcaster

get

public final <T extends Broadcaster> T get(Class<T> c,
                                           Object id)
Description copied from class: BroadcasterFactory
Create a new instance of Broadcaster and store it for.

Specified by:
get in class BroadcasterFactory
Parameters:
c - The Broadcaster class instance.
id - The unique ID used to retrieve Broadcaster
Returns:
a new instance of Broadcaster

add

public boolean add(Broadcaster b,
                   Object id)
Description copied from class: BroadcasterFactory
Add a Broadcaster to the list.

Specified by:
add in class BroadcasterFactory
Parameters:
b - a Broadcaster
Returns:
false if a with the same name Broadcaster was already stored

remove

public boolean remove(Broadcaster b,
                      Object id)
Description copied from class: BroadcasterFactory
Remove a Broadcaster from the list.

Specified by:
remove in class BroadcasterFactory
Parameters:
b - a Broadcaster
id - the ID
Returns:
false if wasn't present, or Broadcaster

lookup

public final <T extends Broadcaster> T lookup(Class<T> c,
                                              Object id)
Description copied from class: BroadcasterFactory
Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().

Specified by:
lookup in class BroadcasterFactory
id - The Broadcaster's unique ID, or name.
Returns:
a Broadcaster, or null if not found.

lookup

public final Broadcaster lookup(Object id)
Description copied from class: BroadcasterFactory
Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().

Specified by:
lookup in class BroadcasterFactory
Parameters:
id - The Broadcaster's unique ID, or name.
Returns:
a Broadcaster, or null if not found.

lookup

public final Broadcaster lookup(Object id,
                                boolean createIfNull)
Description copied from class: BroadcasterFactory
Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().

Specified by:
lookup in class BroadcasterFactory
Parameters:
id - The Broadcaster's unique ID, or name.
createIfNull - If the broadcaster is not found, create it.
Returns:
a Broadcaster, or null if not found.

lookup

public <T extends Broadcaster> T lookup(Class<T> c,
                                        Object id,
                                        boolean createIfNull)
Description copied from class: BroadcasterFactory
Lookup a Broadcaster instance using Broadcaster.getID() or ID used when invoking BroadcasterFactory.getDefault().

Specified by:
lookup in class BroadcasterFactory
id - The Broadcaster's unique ID, or name.
createIfNull - If the broadcaster is not found, create it.
Returns:
a Broadcaster, or null if not found.

lookup

public <T extends Broadcaster> T lookup(Class<T> c,
                                        Object id,
                                        boolean createIfNull,
                                        boolean unique)

removeAllAtmosphereResource

public void removeAllAtmosphereResource(AtmosphereResource r)
Description copied from class: BroadcasterFactory
Remove all instances of AtmosphereResource from all registered Broadcasters.

Specified by:
removeAllAtmosphereResource in class BroadcasterFactory
Parameters:
r - an void AtmosphereResource

remove

public boolean remove(Object id)
Description copied from class: BroadcasterFactory
Remove the associated Broadcaster.

Specified by:
remove in class BroadcasterFactory

lookupAll

public Collection<Broadcaster> lookupAll()
Description copied from class: BroadcasterFactory
Return an immutable Collection of Broadcaster this factory contains.

Specified by:
lookupAll in class BroadcasterFactory
Returns:
an immutable Collection of Broadcaster this factory contains.

destroy

public void destroy()
Description copied from class: BroadcasterFactory
Shutdown all Broadcasters.

Specified by:
destroy in class BroadcasterFactory

notifyOnPostCreate

public void notifyOnPostCreate(Broadcaster b)

buildAndReplaceDefaultfactory

public static BroadcasterFactory buildAndReplaceDefaultfactory(Class<? extends Broadcaster> clazz,
                                                               AtmosphereConfig c)
                                                        throws InstantiationException,
                                                               IllegalAccessException
Build a default BroadcasterFactory returned when invoking BroadcasterFactory.getDefault() ()}.

Parameters:
clazz - A class implementing Broadcaster
c - An instance of AtmosphereConfig
Returns:
the default BroadcasterFactory.
Throws:
InstantiationException
IllegalAccessException

addBroadcasterListener

public BroadcasterFactory addBroadcasterListener(BroadcasterListener l)
Overrides:
addBroadcasterListener in class BroadcasterFactory

removeBroadcasterListener

public BroadcasterFactory removeBroadcasterListener(BroadcasterListener l)
Overrides:
removeBroadcasterListener in class BroadcasterFactory


Copyright © 2013. All Rights Reserved.