All Superinterfaces:
org.refcodes.component.Destroyable, org.refcodes.eventbus.DispatchStrategyAccessor, org.refcodes.eventbus.EventBusObservable<ApplicationBusEvent,org.refcodes.observer.Observer<ApplicationBusEvent>,ApplicationEventMatcher,String>, org.refcodes.eventbus.EventBusPublisher<ApplicationBusEvent>, org.refcodes.eventbus.GenericEventBus<ApplicationBusEvent,org.refcodes.observer.Observer<ApplicationBusEvent>,ApplicationEventMatcher,org.refcodes.mixin.EventMetaData,String>, org.refcodes.component.HandleLookup<String,org.refcodes.observer.Observer<ApplicationBusEvent>>, org.refcodes.matcher.Matchable<ApplicationBusEvent>, org.refcodes.observer.Publisher<ApplicationBusEvent>
All Known Subinterfaces:
ApplicationBus, LifecycleBus, MessagePropertiesBus
All Known Implementing Classes:
ApplicationBusImpl

public interface DestroyBus extends org.refcodes.eventbus.GenericEventBus<ApplicationBusEvent,org.refcodes.observer.Observer<ApplicationBusEvent>,ApplicationEventMatcher,org.refcodes.mixin.EventMetaData,String>
The DestroyBus extends the ApplicationBus with convenience functionality common to everyday application and service development regarding dispatching of DestroyBusEvent instances.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

    org.refcodes.component.Destroyable.DestroyAutomaton

    Nested classes/interfaces inherited from interface org.refcodes.eventbus.DispatchStrategyAccessor

    org.refcodes.eventbus.DispatchStrategyAccessor.DispatchStrategyMutator, org.refcodes.eventbus.DispatchStrategyAccessor.DispatchStrategyProperty
  • Method Summary

    Modifier and Type
    Method
    Description
    default String
    onDestroy(Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(Enum<?> aAction, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(Enum<?> aAction, String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(Enum<?> aAction, String aChannel, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(Enum<?> aAction, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(String aChannel, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
    default String
    onDestroy(org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
    Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances.
    default void
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(Class<?> aPublisherType)
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(Class<?> aPublisherType, org.refcodes.eventbus.DispatchStrategy aStrategy)
    Publishes a destroy event with the given attributes.
    default void
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType)
    Publishes an event with the provided initialize for the given attributes.
    default void
    publishDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.eventbus.DispatchStrategy aStrategy)
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(String aChannel, org.refcodes.eventbus.DispatchStrategy aStrategy)
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(org.refcodes.eventbus.DispatchStrategy aStrategy)
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(org.refcodes.mixin.EventMetaData aEventMetaData)
    Publishes a destroy event with the given attributes.
    default void
    publishDestroy(org.refcodes.mixin.EventMetaData aEventMetaData, org.refcodes.eventbus.DispatchStrategy aStrategy)
    Publishes a destroy event with the given attributes.

    Methods inherited from interface org.refcodes.component.Destroyable

    destroy

    Methods inherited from interface org.refcodes.eventbus.DispatchStrategyAccessor

    getDispatchStrategy

    Methods inherited from interface org.refcodes.eventbus.EventBusObservable

    subscribe, subscribe, subscribe, unsubscribeAll

    Methods inherited from interface org.refcodes.eventbus.GenericEventBus

    onAction, onAction, onActions, onActions, onAlias, onAlias, onCatchAll, onChannel, onChannel, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onEvent, onGroup, onGroup, onType, onUniversalId, onUniversalId, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent, publishEvent

    Methods inherited from interface org.refcodes.component.HandleLookup

    hasHandle, lookupHandle, removeHandle

    Methods inherited from interface org.refcodes.matcher.Matchable

    isMatching
  • Method Details

    • publishDestroy

      default void publishDestroy(Class<?> aPublisherType)
      Publishes a destroy event with the given attributes. This method uses the DispatchStrategy.CASCADE to make sure your publishing thread synchronizes till all observers have been notified, though your publishing thread is not blocked upon event publishing of the observers (also using the default DispatchStrategy.CASCADE) themselves.
      Parameters:
      aPublisherType - The type of the event publisher.
    • publishDestroy

      default void publishDestroy(String aChannel)
      Publishes a destroy event with the given attributes. This method uses the DispatchStrategy.CASCADE to make sure your publishing thread synchronizes till all observers have been notified, though your publishing thread is not blocked upon event publishing of the observers (also using the default DispatchStrategy.CASCADE) themselves.
      Parameters:
      aChannel - The channel name on which the event is receivable.
    • publishDestroy

      default void publishDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType)
      Publishes an event with the provided initialize for the given attributes. This method uses the DispatchStrategy.CASCADE to make sure your publishing thread synchronizes till all observers have been notified, though your publishing thread is not blocked upon event publishing of the observers (also using the default DispatchStrategy.CASCADE) themselves.
      Parameters:
      aAlias - The alias property.
      aGroup - The group property.
      aChannel - The channel property.
      aUid - The UID (Universal-TID) property.
      aPublisherType - The type of the event publisher.
    • publishDestroy

      default void publishDestroy(org.refcodes.mixin.EventMetaData aEventMetaData)
      Publishes a destroy event with the given attributes. This method uses the DispatchStrategy.CASCADE to make sure your publishing thread synchronizes till all observers have been notified, though your publishing thread is not blocked upon event publishing of the observers (also using the default DispatchStrategy.CASCADE) themselves.
      Parameters:
      aEventMetaData - The Meta-Data to by supplied by the event.
    • publishDestroy

      default void publishDestroy()
      Publishes a destroy event with the given attributes. This method uses the DispatchStrategy.CASCADE to make sure your publishing thread synchronizes till all observers have been notified, though your publishing thread is not blocked upon event publishing of the observers (also using the default DispatchStrategy.CASCADE) themselves. Finally, Destroyable.destroy() is called to shot down any ExecutorService still on duty.
    • publishDestroy

      default void publishDestroy(Class<?> aPublisherType, org.refcodes.eventbus.DispatchStrategy aStrategy)
      Publishes a destroy event with the given attributes.
      Parameters:
      aPublisherType - The type of the event publisher.
      aStrategy - The DispatchStrategy to use when dispatching the event.
    • publishDestroy

      default void publishDestroy(String aChannel, org.refcodes.eventbus.DispatchStrategy aStrategy)
      Publishes a destroy event with the given attributes.
      Parameters:
      aChannel - The channel name on which the event is receivable.
      aStrategy - The DispatchStrategy to use when dispatching the event.
    • publishDestroy

      default void publishDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.eventbus.DispatchStrategy aStrategy)
      Publishes a destroy event with the given attributes.
      Parameters:
      aAlias - The alias property.
      aGroup - The group property.
      aChannel - The channel property.
      aUid - The UID (Universal-TID) property.
      aPublisherType - The type of the event publisher.
      aStrategy - The DispatchStrategy to use when dispatching the event.
    • publishDestroy

      default void publishDestroy(org.refcodes.mixin.EventMetaData aEventMetaData, org.refcodes.eventbus.DispatchStrategy aStrategy)
      Publishes a destroy event with the given attributes.
      Parameters:
      aEventMetaData - The Meta-Data to by supplied by the event.
      aStrategy - The DispatchStrategy to use when dispatching the event.
    • publishDestroy

      default void publishDestroy(org.refcodes.eventbus.DispatchStrategy aStrategy)
      Publishes a destroy event with the given attributes.
      Parameters:
      aStrategy - The DispatchStrategy to use when dispatching the event.
    • onDestroy

      default String onDestroy(org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances.
      Parameters:
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aPublisherType - The type of the event publisher.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(String aChannel, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aChannel - The channel name on which the event is receivable.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aAlias - The alias property.
      aGroup - The group property.
      aChannel - The channel property.
      aUid - The UID (Universal-TID) property.
      aPublisherType - The type of the event publisher.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(Enum<?> aAction, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aAction - The action property.
      aPublisherType - The type of the event publisher.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(Enum<?> aAction, String aChannel, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aAction - The action property.
      aChannel - The channel name on which the event is receivable.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(Enum<?> aAction, String aAlias, String aGroup, String aChannel, String aUid, Class<?> aPublisherType, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes.
      Parameters:
      aAction - The action property.
      aAlias - The alias property.
      aGroup - The group property.
      aChannel - The channel property.
      aUid - The UID (Universal-TID) property.
      aPublisherType - The type of the event publisher.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.
    • onDestroy

      default String onDestroy(Enum<?> aAction, org.refcodes.observer.Observer<DestroyBusEvent> aObserver)
      Similar to the more generic method EventBusObservable.subscribe(EventMatcher, Observer) THOUGH subscribes for DestroyBusEvent instances with the given attributes. Your Observable may be of the required type!
      Parameters:
      aAction - The action property.
      aObserver - The observer to be notified.
      Returns:
      A handle to unsubscribe this combination.