Interface Component

  • All Known Implementing Classes:
    AbstractComponent

    public interface Component
    Components enhance the functionality of an XMPP server. Components receive all packets addressed to a particular sub-domain. For example, test_component.example.com. So, a packet sent to joe@test_component.example.com would be delivered to the component. Note that the sub-domains defined as components are unrelated to DNS entries for sub-domains. All XMPP routing at the socket level is done using the primary server domain (example.com in the example above); sub-domains are only used for routing within the XMPP server.
    Author:
    Matt Tucker
    • Method Detail

      • getName

        String getName()
        Returns the name of this component.
        Returns:
        the name of this component.
      • getDescription

        String getDescription()
        Returns the description of this component.
        Returns:
        the description of this component.
      • initialize

        void initialize​(JID jid,
                        ComponentManager componentManager)
                 throws ComponentException
        Initializes this component with a ComponentManager and the JID that this component is available at (e.g. service.example.com). If a ComponentException is thrown then the component will not be loaded.

        The initialization code must not rely on receiving packets from the server since the component has not been fully initialized yet. This means that at this point the component must not rely on information that is obtained from the server such us discovered items.

        Parameters:
        jid - the XMPP address that this component is available at.
        componentManager - the component manager.
        Throws:
        ComponentException - if an error occured while initializing the component.
      • start

        void start()
        Notification message indicating that the component will start receiving incoming packets. At this time the component may finish pending initialization issues that require information obtained from the server.

        It is likely that most of the component will leave this method empty.

      • shutdown

        void shutdown()
        Shuts down this component. All component resources must be released as part of shutdown.