org.atmosphere.pool
Class PoolableBroadcasterFactory

java.lang.Object
  extended by org.atmosphere.cpr.DefaultBroadcasterFactory
      extended by org.atmosphere.pool.PoolableBroadcasterFactory
All Implemented Interfaces:
BroadcasterFactory

public class PoolableBroadcasterFactory
extends DefaultBroadcasterFactory

This class uses a PoolableProvider to retrieve instance of Broadcaster. This class doesn't validate the id of the Broadcaster [Broadcaster.setID(String)] and can return a Broadcaster with was already created under that name. Set trackPooledBroadcaster(boolean) or ApplicationConfig.SUPPORT_TRACKED_BROADCASTER to true to track duplication but be aware it can significantly reduce performance. Use the DefaultBroadcasterFactory is recommended under that scenario.

By default, this factory doesn't keep trace of created Broadcasters hence a new pooled Broadcaster will always be returned unless trackPooledBroadcaster(boolean) or ApplicationConfig.SUPPORT_TRACKED_BROADCASTER is set to true.

This Factory has been designed for application.

This factory is usefull when an application needs a short-lived Broadcaster.

Author:
Jeanfrancois Arcand

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.atmosphere.cpr.BroadcasterFactory
BroadcasterFactory.BroadcasterCreationException
 
Field Summary
 
Fields inherited from class org.atmosphere.cpr.DefaultBroadcasterFactory
broadcasterListeners, clazz, config, defaultPolicy, defaultPolicyInteger, legacyBroadcasterURI, lifeCycleListener, policy, store
 
Constructor Summary
PoolableBroadcasterFactory()
           
PoolableBroadcasterFactory(Class<? extends Broadcaster> clazz, String broadcasterLifeCyclePolicy, AtmosphereConfig c)
          Deprecated. 
 
Method Summary
 boolean add(Broadcaster b, Object id)
          Add a Broadcaster to the list.
protected  void configure(String broadcasterLifeCyclePolicy)
           
 Broadcaster createBroadcaster()
           
 Broadcaster get()
          Return an instance of the default Broadcaster.
<T extends Broadcaster>
T
lookup(Class<T> c, Object id, boolean createIfNull, boolean unique)
           
 Collection<Broadcaster> lookupAll()
          Return an immutable Collection of Broadcaster this factory contains.
 PoolableProvider<? extends Broadcaster,?> poolableProvider()
          The current PoolableProvider
 PoolableBroadcasterFactory poolableProvider(PoolableProvider<? extends Broadcaster,?> poolableProvider)
          Set the implementation of PoolableProvider
 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.
 boolean trackPooledBroadcaster()
          Return true is Broadcaster instance are tracked, e.g stored in a Collection for duplicate id.
 PoolableBroadcasterFactory trackPooledBroadcaster(boolean trackPooledBroadcaster)
          Set to true to enable tracking of Broadcaster.getID() duplication.
 
Methods inherited from class org.atmosphere.cpr.DefaultBroadcasterFactory
addBroadcasterListener, broadcasterListeners, configure, createBroadcaster, destroy, get, get, lookup, lookup, lookup, lookup, notifyOnPostCreate, removeBroadcasterListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PoolableBroadcasterFactory

public PoolableBroadcasterFactory()

PoolableBroadcasterFactory

@Deprecated
public PoolableBroadcasterFactory(Class<? extends Broadcaster> clazz,
                                             String broadcasterLifeCyclePolicy,
                                             AtmosphereConfig c)
Deprecated. 

Method Detail

configure

protected void configure(String broadcasterLifeCyclePolicy)
Overrides:
configure in class DefaultBroadcasterFactory

get

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

The name of the Broadcaster will be randomly generated.

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

add

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

Specified by:
add in interface BroadcasterFactory
Overrides:
add in class DefaultBroadcasterFactory
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 interface: BroadcasterFactory
Remove a Broadcaster from the list.

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

lookup

public <T extends Broadcaster> T lookup(Class<T> c,
                                        Object id,
                                        boolean createIfNull,
                                        boolean unique)
Overrides:
lookup in class DefaultBroadcasterFactory

removeAllAtmosphereResource

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

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

remove

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

Specified by:
remove in interface BroadcasterFactory
Overrides:
remove in class DefaultBroadcasterFactory

lookupAll

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

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

createBroadcaster

public Broadcaster createBroadcaster()

trackPooledBroadcaster

public PoolableBroadcasterFactory trackPooledBroadcaster(boolean trackPooledBroadcaster)
Set to true to enable tracking of Broadcaster.getID() duplication. Enabling this feature will significantly reduce the performance of the PoolableProvider. Use the DefaultBroadcasterFactory if you need to track's duplication.

Parameters:
trackPooledBroadcaster -
Returns:

trackPooledBroadcaster

public boolean trackPooledBroadcaster()
Return true is Broadcaster instance are tracked, e.g stored in a Collection for duplicate id.

Returns:
Broadcaster instance are tracked, e.g stored in a Collection for duplicate id.

poolableProvider

public PoolableProvider<? extends Broadcaster,?> poolableProvider()
The current PoolableProvider

Returns:
current PoolableProvider

poolableProvider

public PoolableBroadcasterFactory poolableProvider(PoolableProvider<? extends Broadcaster,?> poolableProvider)
Set the implementation of PoolableProvider

Parameters:
poolableProvider - the implementation of PoolableProvider
Returns:
this


Copyright © 2015. All Rights Reserved.