Package 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
Modifier and TypeMethodDescriptionReturns the description of this component.getName()Returns the name of this component.voidinitialize(JID jid, ComponentManager componentManager) Initializes this component with a ComponentManager and the JID that this component is available at (e.g.voidprocessPacket(Packet packet) Processes a packet sent to this Component.voidshutdown()Shuts down this component.voidstart()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
Processes a packet sent to this Component.- Parameters:
packet- the packet.- See Also:
-
initialize
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.
-