Interface Listenable

All Known Subinterfaces:
AdvancedCache<K,V>, Cache<K,V>, CacheManagerNotifier, CacheNotifier<K,V>, ClassLoaderAwareFilteringListenable<K,V>, ClassLoaderAwareListenable, ClusterCacheNotifier<K,V>, DataConversionAwareListenable<K,V>, EmbeddedCacheManager, FilteringListenable<K,V>, SecureCache<K,V>
All Known Implementing Classes:
AbstractDelegatingAdvancedCache, AbstractDelegatingCache, AbstractDelegatingEmbeddedCacheManager, CacheImpl, CacheManagerNotifierImpl, CacheNotifierImpl, DecoratedCache, DefaultCacheManager, EncoderCache, SecureCacheImpl, SimpleCacheImpl, StatsCollectingCache

public interface Listenable
Interface that denotes that the implementation can have listeners attached to it.
Since:
4.0
Author:
Manik Surtani
  • Method Details

    • addListener

      default void addListener(Object listener)
      Adds a listener to the component. Typically, listeners would need to be annotated with Listener and further to that, contain methods annotated appropriately, otherwise the listener will not be registered.

      See the Listener annotation for more information.

      Parameters:
      listener - listener to add, must not be null
    • addListenerAsync

      CompletionStage<Void> addListenerAsync(Object listener)
      Asynchronous version of addListener(Object)
      Parameters:
      listener - listener to add, must not be null
      Returns:
      CompletionStage that when complete the listener is fully installed
    • removeListener

      default void removeListener(Object listener)
      Removes a listener from the component.
      Parameters:
      listener - listener to remove. Must not be null.
      Throws:
      IllegalLifecycleStateException - may be thrown if the Listenable is stopped.
    • removeListenerAsync

      CompletionStage<Void> removeListenerAsync(Object listener)
      Asynchronous version of removeListener(Object)
      Parameters:
      listener - listener to remove, must not be null
      Returns:
      CompletionStage that when complete the listener is fully removed
    • getListeners

      @Deprecated(forRemoval=true) Set<Object> getListeners()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Since 10.0, with no replacement
      Returns:
      a set of all listeners registered on this component.