Package tigase.eventbus.component

## Class EventPublisherModule

- java.lang.Object
- - tigase.component.modules.AbstractModule
  - - tigase.eventbus.component.AbstractEventBusModule
    - - tigase.eventbus.component.EventPublisherModule

- All Implemented Interfaces:
    `Module`, `Initializable`, `UnregisterAware`

      @Bean(name="publisher",
            active=true)
      public class EventPublisherModule
      extends AbstractEventBusModule
      implements Initializable, UnregisterAware

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `ID` |

    - ### Fields inherited from class tigase.component.modules.AbstractModule

      `eventBus, log, writer`

    - ### Fields inherited from interface tigase.component.modules.Module

      `EMPTY_FEATURES`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EventPublisherModule()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `beforeUnregister()` | Method called before bean unregister.
    `java.lang.String[]` | `getFeatures()` | Returns XMPP features offered by module.
    `Criteria` | `getModuleCriteria()` | Returns critera used by Component to select module to handle incoming stanza.
    `protected java.util.Collection<Subscription>` | `getSubscribers​(java.lang.String packageName, java.lang.String eventName, java.lang.Object event)` |
    `void` | `initialize()` | Method will be called, when bean will be created, configured and ready to use.
    `void` | `process​(Packet packet)` | Process incoming stanza.
    `void` | `publishEvent​(java.lang.String eventPackage, java.lang.String name, Element event, java.util.Collection<Subscription> subscribers)` |
    `void` | `publishEvent​(Element event)` |
    `void` | `publishObjectEvent​(java.lang.Object event)` |

    - ### Methods inherited from class tigase.eventbus.component.AbstractEventBusModule

      `isClusteredEventBus, nextStanzaID`

    - ### Methods inherited from class tigase.component.modules.AbstractModule

      `fireEvent, getEventBus, getWriter, setEventBus, setWriter, write, write`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface tigase.component.modules.Module

      `canHandle`

- - ### Field Detail

    - #### ID

          public static final java.lang.String ID

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### EventPublisherModule

          public EventPublisherModule()

  - ### Method Detail

    - #### beforeUnregister

          public void beforeUnregister()

      Description copied from interface: `UnregisterAware`
      Method called before bean unregister.
      Specified by:
        `beforeUnregister` in interface `UnregisterAware`

    - #### getFeatures

          public java.lang.String[] getFeatures()

      Description copied from interface: `Module`
      Returns XMPP features offered by module. Features will be returned by Service Discovery.
      Specified by:
        `getFeatures` in interface `Module`
      Returns:
        array of features or `null`.

    - #### getModuleCriteria

          public Criteria getModuleCriteria()

      Description copied from interface: `Module`
      Returns critera used by Component to select module to handle incoming stanza.
      Specified by:
        `getModuleCriteria` in interface `Module`
      Returns:
        criteria of selecting module.

    - #### initialize

          public void initialize()

      Description copied from interface: `Initializable`
      Method will be called, when bean will be created, configured and ready to use.
      Specified by:
        `initialize` in interface `Initializable`

    - #### process

          public void process​(Packet packet)
                       throws ComponentException,
                              TigaseStringprepException

      Description copied from interface: `Module`
      Process incoming stanza.
      Specified by:
        `process` in interface `Module`
      Parameters:
        `packet` - received `stanza`.
      Throws:
        `ComponentException` - if stanza can't be processed correctly. ComponentException is converted to error stanza and returned to stanza sender.
        `TigaseStringprepException` - if there was an error during stringprep processing.

    - #### publishEvent

          public void publishEvent​(Element event)

    - #### publishEvent

          public void publishEvent​(java.lang.String eventPackage,
                                   java.lang.String name,
                                   Element event,
                                   java.util.Collection<Subscription> subscribers)

    - #### publishObjectEvent

          public void publishObjectEvent​(java.lang.Object event)

    - #### getSubscribers

          protected java.util.Collection<Subscription> getSubscribers​(java.lang.String packageName,
                                                                      java.lang.String eventName,
                                                                      java.lang.Object event)