public abstract class AbstractComponentRegistrator<E extends ServerComponent> extends BasicComponent implements ComponentRegistrator
StatisticsCollector
or Configurator
.processPacket(Packet packet,
Queue<Packet> results)
method. Alternatively scripting API can be used via ad-hoc commands.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.
BasicComponent.ServerInfoVHostItemExtension
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, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_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_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_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, EVENTBUS_CLASS_NAME, 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, 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, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK
CMD_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(...) |
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(...) |
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 called when component is being stopped and unloaded.
|
addComponentDomain, beanConfigurationChanged, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getStatistics, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initializationCompleted, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processPacket, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setCompId, setName, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, setName
protected Map<String,E extends ServerComponent> components
public AbstractComponentRegistrator()
AbstractComponentRegistrator
instance.public abstract void componentAdded(E component) throws ConfigurationException
components
collection.component
- is a reference to the component just added to the collection.ConfigurationException
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) throws ConfigurationException
components
collection and calls componentAdded(...)
callback.addComponent
in interface ComponentRegistrator
component
- 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.ConfigurationException
public boolean deleteComponent(ServerComponent component)
components
collection and calls
componentRemoved(...)
callback method.deleteComponent
in interface ComponentRegistrator
component
- 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()
ServerComponent
release
in interface ServerComponent
release
in class BasicComponent
Copyright © 2004–2021 "Tigase, Inc.". All rights reserved.