Package tigase.component.modules.impl

## Class DiscoveryModule

- java.lang.Object
- - tigase.component.modules.AbstractModule
  - - tigase.component.modules.impl.DiscoveryModule

- All Implemented Interfaces:
    `Module`
  Direct Known Subclasses:
    `DiscoveryModule`, `DiscoveryMonitorModule`, `EventbusDiscoveryModule`

      @Bean(name="disco",
            active=true)
      public class DiscoveryModule
      extends AbstractModule

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected BasicComponent` | `component` |
    `static java.lang.String` | `DISCO_INFO_XMLNS` |
    `static java.lang.String` | `DISCO_ITEMS_XMLNS` |
    `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
    --- | ---
    `DiscoveryModule()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AdHocCommandModule` | `getAdHocCommandModule()` |
    `java.util.Set<java.lang.String>` | `getAvailableFeatures()` |
    `java.util.Set<java.lang.String>` | `getAvailableFeatures​(BareJID serviceJID, java.lang.String node, BareJID senderJID)` |
    `java.lang.String[]` | `getFeatures()` | Returns XMPP features offered by module.
    `Criteria` | `getModuleCriteria()` | Returns critera used by Component to select module to handle incoming stanza.
    `java.util.List<Module>` | `getModules()` |
    `protected Packet` | `prepareDiscoInfoReponse​(Packet packet, JID jid, java.lang.String node, JID senderJID)` | Deprecated.
    `protected Packet` | `prepareDiscoInfoResponse​(Packet packet, JID jid, java.lang.String node, JID senderJID)` |
    `protected java.util.List<Element>` | `prepareDiscoItems​(JID jid, java.lang.String node, JID senderJID, RSM rsm)` |
    `void` | `process​(Packet packet)` | Process incoming stanza.
    `protected void` | `processAdHocCommandItems​(Packet packet, JID jid, java.lang.String node, JID senderJID)` |
    `protected void` | `processDiscoInfo​(Packet packet, JID jid, java.lang.String node, JID senderJID)` |
    `protected void` | `processDiscoItems​(Packet packet, JID jid, java.lang.String node, JID senderJID)` |
    `void` | `setAdHocCommandModule​(AdHocCommandModule adHocCommandModule)` |
    `void` | `setModules​(java.util.List<Module> modules)` |

    - ### 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

    - #### DISCO_INFO_XMLNS

          public static final java.lang.String DISCO_INFO_XMLNS

      See Also:
        Constant Field Values

    - #### DISCO_ITEMS_XMLNS

          public static final java.lang.String DISCO_ITEMS_XMLNS

      See Also:
        Constant Field Values

    - #### ID

          public static final java.lang.String ID

      See Also:
        Constant Field Values

    - #### component

          @Inject(bean="service")
          protected BasicComponent component

  - ### Constructor Detail

    - #### DiscoveryModule

          public DiscoveryModule()

  - ### Method Detail

    - #### getAdHocCommandModule

          public AdHocCommandModule getAdHocCommandModule()

    - #### setAdHocCommandModule

          public void setAdHocCommandModule​(AdHocCommandModule adHocCommandModule)

    - #### getAvailableFeatures

          public java.util.Set<java.lang.String> getAvailableFeatures​(BareJID serviceJID,
                                                                      java.lang.String node,
                                                                      BareJID senderJID)

    - #### getAvailableFeatures

          public java.util.Set<java.lang.String> getAvailableFeatures()

    - #### getFeatures

          public java.lang.String[] getFeatures()

      Description copied from interface: `Module`
      Returns XMPP features offered by module. Features will be returned by Service Discovery.
      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.
      Returns:
        criteria of selecting module.

    - #### getModules

          public java.util.List<Module> getModules()

    - #### setModules

          public void setModules​(java.util.List<Module> modules)

    - #### process

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

      Description copied from interface: `Module`
      Process incoming stanza.
      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.

    - #### processAdHocCommandItems

          protected void processAdHocCommandItems​(Packet packet,
                                                  JID jid,
                                                  java.lang.String node,
                                                  JID senderJID)
                                           throws ComponentException,
                                                  RepositoryException

      Throws:
        `ComponentException`
        `RepositoryException`

    - #### processDiscoInfo

          protected void processDiscoInfo​(Packet packet,
                                          JID jid,
                                          java.lang.String node,
                                          JID senderJID)
                                   throws ComponentException,
                                          RepositoryException

      Throws:
        `ComponentException`
        `RepositoryException`

    - #### prepareDiscoInfoReponse

          @Deprecated
          protected Packet prepareDiscoInfoReponse​(Packet packet,
                                                   JID jid,
                                                   java.lang.String node,
                                                   JID senderJID)

      Deprecated.

    - #### prepareDiscoInfoResponse

          protected Packet prepareDiscoInfoResponse​(Packet packet,
                                                    JID jid,
                                                    java.lang.String node,
                                                    JID senderJID)

    - #### prepareDiscoItems

          protected java.util.List<Element> prepareDiscoItems​(JID jid,
                                                              java.lang.String node,
                                                              JID senderJID,
                                                              RSM rsm)
                                                       throws ComponentException,
                                                              RepositoryException

      Throws:
        `ComponentException`
        `RepositoryException`

    - #### processDiscoItems

          protected void processDiscoItems​(Packet packet,
                                           JID jid,
                                           java.lang.String node,
                                           JID senderJID)
                                    throws ComponentException,
                                           RepositoryException

      Throws:
        `ComponentException`
        `RepositoryException`