ehcache

net.sf.ehcache.event
Class RegisteredEventListeners

java.lang.Object
  extended by net.sf.ehcache.event.RegisteredEventListeners

public class RegisteredEventListeners
extends Object

Registered listeners for registering and unregistering CacheEventListeners and multicasting notifications to registrants.

There is one of these per Cache.

Version:
$Id: RegisteredEventListeners.java 8909 2014-04-10 15:49:49Z cschanck $
Author:
Greg Luck, Geert Bevin

Nested Class Summary
static interface RegisteredEventListeners.ElementCreationCallback
          Callback interface for creating elements to pass to registered listeners.
 
Constructor Summary
RegisteredEventListeners(Cache cache)
          Constructs a new notification service
RegisteredEventListeners(Ehcache cache, CacheStoreHelper helper)
          Construct a registered event listeners service
 
Method Summary
 void dispose()
          Tell listeners to dispose themselves.
 Set<CacheEventListener> getCacheEventListeners()
          Gets a copy of the set of the listeners registered to this class
 boolean hasCacheEventListeners()
          Returns whether or not at least one cache event listeners has been registered.
 boolean hasCacheReplicators()
          Determines whether any registered listeners are CacheReplicators.
 void notifyElementEvicted(Element element, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element has been evicted from the cache
 void notifyElementEvicted(RegisteredEventListeners.ElementCreationCallback callback, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element has been evicted from the cache
 void notifyElementExpiry(Element element, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element has expired
 void notifyElementExpiry(RegisteredEventListeners.ElementCreationCallback callback, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element has expired
 void notifyElementPut(Element element, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element was put into the cache
 void notifyElementPut(RegisteredEventListeners.ElementCreationCallback callback, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element was put into the cache
 void notifyElementPutOrdered(Element element)
          Notifies InternalCacheEventListeners, when a put happens
 void notifyElementRemoved(Element element, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element was removed
 void notifyElementRemoved(RegisteredEventListeners.ElementCreationCallback callback, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element was removed
 void notifyElementRemovedOrdered(Element element)
          Notifies InternalCacheEventListeners, when a remove happens
 void notifyElementUpdated(Element element, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element in the cache was updated
 void notifyElementUpdated(RegisteredEventListeners.ElementCreationCallback callback, boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that an element in the cache was updated
 void notifyElementUpdatedOrdered(Element oldElement, Element newElement)
          Notifies InternalCacheEventListeners, when an update happens
 void notifyRemoveAll(boolean remoteEvent)
          Notifies all registered listeners, in no guaranteed order, that removeAll has been called and all elements cleared
 boolean registerListener(CacheEventListener cacheEventListener)
          Adds a listener to the notification service.
 boolean registerListener(CacheEventListener cacheEventListener, NotificationScope scope)
          Adds a listener to the notification service.
 String toString()
          Returns a string representation of the object.
 boolean unregisterListener(CacheEventListener cacheEventListener)
          Removes a listener from the notification service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RegisteredEventListeners

public RegisteredEventListeners(Cache cache)
Constructs a new notification service

Parameters:
cache -

RegisteredEventListeners

public RegisteredEventListeners(Ehcache cache,
                                CacheStoreHelper helper)
Construct a registered event listeners service

Parameters:
cache - the Cache
helper - helper for getting the Store out of the Cache
Method Detail

notifyElementUpdatedOrdered

public final void notifyElementUpdatedOrdered(Element oldElement,
                                              Element newElement)
Notifies InternalCacheEventListeners, when an update happens

Parameters:
oldElement - the old element
newElement - the new element

notifyElementRemovedOrdered

public final void notifyElementRemovedOrdered(Element element)
Notifies InternalCacheEventListeners, when a remove happens

Parameters:
element - the element removes

notifyElementPutOrdered

public final void notifyElementPutOrdered(Element element)
Notifies InternalCacheEventListeners, when a put happens

Parameters:
element - the element put

notifyElementRemoved

public final void notifyElementRemoved(Element element,
                                       boolean remoteEvent)
                                throws CacheException
Notifies all registered listeners, in no guaranteed order, that an element was removed

Parameters:
element -
remoteEvent - whether the event came from a remote cache peer
Throws:
CacheException
See Also:
CacheEventListener.notifyElementRemoved(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

notifyElementRemoved

public final void notifyElementRemoved(RegisteredEventListeners.ElementCreationCallback callback,
                                       boolean remoteEvent)
                                throws CacheException
Notifies all registered listeners, in no guaranteed order, that an element was removed

Parameters:
callback -
remoteEvent - whether the event came from a remote cache peer
Throws:
CacheException
See Also:
CacheEventListener.notifyElementRemoved(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

notifyElementPut

public final void notifyElementPut(Element element,
                                   boolean remoteEvent)
                            throws CacheException
Notifies all registered listeners, in no guaranteed order, that an element was put into the cache

Parameters:
element -
remoteEvent - whether the event came from a remote cache peer
Throws:
CacheException
See Also:
CacheEventListener.notifyElementPut(net.sf.ehcache.Ehcache,net.sf.ehcache.Element)

notifyElementPut

public final void notifyElementPut(RegisteredEventListeners.ElementCreationCallback callback,
                                   boolean remoteEvent)
                            throws CacheException
Notifies all registered listeners, in no guaranteed order, that an element was put into the cache

Parameters:
callback -
remoteEvent - whether the event came from a remote cache peer
Throws:
CacheException
See Also:
CacheEventListener.notifyElementPut(net.sf.ehcache.Ehcache,net.sf.ehcache.Element)

notifyElementUpdated

public final void notifyElementUpdated(Element element,
                                       boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element in the cache was updated

Parameters:
element -
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementPut(net.sf.ehcache.Ehcache,net.sf.ehcache.Element)

notifyElementUpdated

public final void notifyElementUpdated(RegisteredEventListeners.ElementCreationCallback callback,
                                       boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element in the cache was updated

Parameters:
callback -
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementPut(net.sf.ehcache.Ehcache,net.sf.ehcache.Element)

notifyElementExpiry

public final void notifyElementExpiry(Element element,
                                      boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element has expired

Parameters:
element - the Element to perform the notification on
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementExpired(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

notifyElementExpiry

public final void notifyElementExpiry(RegisteredEventListeners.ElementCreationCallback callback,
                                      boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element has expired

Parameters:
callback -
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementExpired(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

hasCacheEventListeners

public final boolean hasCacheEventListeners()
Returns whether or not at least one cache event listeners has been registered.

Returns:
true if a one or more listeners have registered, otherwise false

notifyElementEvicted

public final void notifyElementEvicted(Element element,
                                       boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element has been evicted from the cache

Parameters:
element - the Element to perform the notification on
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementEvicted(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

notifyElementEvicted

public final void notifyElementEvicted(RegisteredEventListeners.ElementCreationCallback callback,
                                       boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that an element has been evicted from the cache

Parameters:
callback -
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementEvicted(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

notifyRemoveAll

public final void notifyRemoveAll(boolean remoteEvent)
Notifies all registered listeners, in no guaranteed order, that removeAll has been called and all elements cleared

Parameters:
remoteEvent - whether the event came from a remote cache peer
See Also:
CacheEventListener.notifyElementEvicted(net.sf.ehcache.Ehcache, net.sf.ehcache.Element)

registerListener

public final boolean registerListener(CacheEventListener cacheEventListener)
Adds a listener to the notification service. No guarantee is made that listeners will be notified in the order they were added.

Parameters:
cacheEventListener -
Returns:
true if the listener is being added and was not already added

registerListener

public final boolean registerListener(CacheEventListener cacheEventListener,
                                      NotificationScope scope)
Adds a listener to the notification service. No guarantee is made that listeners will be notified in the order they were added.

If a cache is configured in a cluster, listeners in each node will get triggered by an event depending on the value of the

listenFor
parameter.

Parameters:
cacheEventListener - The listener to add
scope - The notification scope
Returns:
true if the listener is being added and was not already added
Since:
2.0

unregisterListener

public final boolean unregisterListener(CacheEventListener cacheEventListener)
Removes a listener from the notification service.

Parameters:
cacheEventListener -
Returns:
true if the listener was present

hasCacheReplicators

public final boolean hasCacheReplicators()
Determines whether any registered listeners are CacheReplicators.

Returns:
whether any registered listeners are CacheReplicators.

getCacheEventListeners

public final Set<CacheEventListener> getCacheEventListeners()
Gets a copy of the set of the listeners registered to this class

Returns:
a set of type CacheEventListener

dispose

public final void dispose()
Tell listeners to dispose themselves. Because this method is only ever called from a synchronized cache method, it does not itself need to be synchronized.


toString

public final String toString()
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read.

Overrides:
toString in class Object
Returns:
a string representation of the object.

ehcache

Copyright 2001-2014, Terracotta, Inc.