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 Summary

    Modifier and Type
    Method
    Description
    Returns the description of this component.
    Returns the name of this component.
    void
    initialize(JID jid, ComponentManager componentManager)
    Initializes this component with a ComponentManager and the JID that this component is available at (e.g.
    void
    Processes a packet sent to this Component.
    void
    Shuts down this component.
    void
    Notification message indicating that the component will start receiving incoming packets.
  • Method Details

    • 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.
    • processPacket

      void processPacket(Packet packet)
      Processes a packet sent to this Component.
      Parameters:
      packet - the packet.
      See Also:
    • 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.