org.xmpp.component
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
 java.lang.String getDescription()
          Returns the description of this component.
 java.lang.String getName()
          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 processPacket(Packet packet)
          Processes a packet sent to this Component.
 void shutdown()
          Shuts down this component.
 void start()
          Notification message indicating that the component will start receiving incoming packets.
 

Method Detail

getName

java.lang.String getName()
Returns the name of this component.

Returns:
the name of this component.

getDescription

java.lang.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:
ComponentManager.sendPacket(Component, Packet)

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.



Copyright © 2009-2010 Ignite Realtime. All Rights Reserved.