tigase.server
E - public abstract class AbstractComponentRegistrator<E extends ServerComponent> extends BasicComponent implements ComponentRegistrator
StatisticsCollector
or Configurator.
Extensions of these class can process packets addresses to the component via
processPacket(Packet packet, Queue<Packet> results) method.
Alternatively scripting API can be used via ad-hoc commands.
The class does not have any queues buffering packets or separate threads for
packets processing. All packets are processed from MessageRouter
threads via processPacket(Packet packet, Queue<Packet> results)
method. Hence this is important that processing implemented in extensions to the
class does not take long time. In particular no DB processing is expected.
Created: Tue Nov 22 22:57:44 2005| Modifier and Type | Field and Description |
|---|---|
protected Map<String,E> |
components
A collection of server components which implement special interface, related to the
functionality provided by extension of the class.
|
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManagerADMINS_PROP_KEY, AMP_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_AMP_NAME, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_PROP_VAL, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACKCMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS| Constructor and Description |
|---|
AbstractComponentRegistrator()
Creates a new
AbstractComponentRegistrator instance. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addComponent(ServerComponent component)
Method checks whether the component is of a correct type, adds it to the internal
components collection and calls componentAdded(...) callback. |
abstract void |
componentAdded(E component)
Method provides a callback mechanism signaling that a new component implementing
special interface has been added to the internal
components collection. |
abstract void |
componentRemoved(E component)
Method provides a callback mechanism signaling that a component implementing
special interface has been removed from the internal
components
collection. |
boolean |
deleteComponent(ServerComponent component)
Method removes specified component from the internal
components
collection and calls componentRemoved(...) callback method. |
E |
getComponent(String name)
Method returns a component for a specified component name from internal
components collection or null of there is no such
component in the collection. |
abstract boolean |
isCorrectType(ServerComponent component)
Method checks whether the component provides as method parameter is correct type
that is implements special interface or extends special class.
|
String |
newPacketId(String prefix)
Method generates and returns an unique packet ID.
|
void |
release()
Method is called when the component is being stopped and potentially removed from
the system to release all resources associated with the component.
|
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initializationCompleted, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, processPacket, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setName, setProperties, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItemclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetComponentId, getName, initializationCompleted, isInitializationComplete, processPacket, setNameprotected Map<String,E extends ServerComponent> components
public AbstractComponentRegistrator()
AbstractComponentRegistrator instance.public abstract void componentAdded(E component)
components collection.component - is a reference to the component just added to the collection.public abstract void componentRemoved(E component)
components
collection.component - is a reference to the component removed from the collection.public abstract boolean isCorrectType(ServerComponent component)
components
collection.component - is a reference to the component being checked.boolean value of true if the component is of a
correct type and false otherwise.public boolean addComponent(ServerComponent component)
components collection and calls componentAdded(...) callback.addComponent in interface ComponentRegistratorcomponent - a reference to the component which is being added to the intenal
collection.boolean value of true if the component
has been added to the internal collection and false otherwise.public boolean deleteComponent(ServerComponent component)
components
collection and calls componentRemoved(...) callback method.deleteComponent in interface ComponentRegistratorcomponent - is a reference to the component being removed.boolean value of true if the component
has been removed from the internal collection and false otherwise.public E getComponent(String name)
components collection or null of there is no such
component in the collection.name - is a String value of the component name.null if no component has been found.public String newPacketId(String prefix)
prefix - is a String value of the ID profix or null
if no prefix is necessary.String instance of a new packet ID.public void release()
processPacket or any
ad-hoc commands is expected.release in interface ServerComponentrelease in class BasicComponentCopyright © 2013 Tigase. All rights reserved.