Package tigase.component

# Class AbstractComponent

java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractMessageReceiver
tigase.component.AbstractComponent

All Implemented Interfaces:
  `ClusteredComponentIfc`, `Configurable`, `XMPPService`, `ConfigurationChangedAware`, `Initializable`, `DisableDisco`, `MessageReceiver`, `PacketWriterWithTimeout`, `ServerComponent`, `StatisticsContainer`, `StatisticsContainerIfc`, `VHostListener`

@Deprecated public abstract class AbstractComponent extends AbstractMessageReceiver implements XMPPService, DisableDisco
Deprecated.
Do not use this class at all. Use `AbstractKernelBasedComponent` instead. This class is here just because developer wants to know how some parts of code worked before migration to Kernel Based TCF.
Base class for implement XMPP Component.

Author:
  bmalkow

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `AbstractComponent.DefaultPacketWriter`
  Deprecated.

  ## Nested classes/interfaces inherited from class tigase.server.BasicComponent

  `BasicComponent.ServerInfoVHostItemExtension`

  ## Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout

  `PacketWriterWithTimeout.Handler`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final String`
  `COMPONENT`
  Deprecated.
  `protected EventBus`
  `eventBus`
  Deprecated.
  `protected final Logger`
  `log`
  Deprecated.

  ### Fields inherited from class tigase.server.AbstractMessageReceiver

  `HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND`

  ### Fields inherited from class tigase.server.BasicComponent

  `admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager`

  ### Fields inherited from interface tigase.conf.Configurable

  `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`

  ### Fields inherited from interface tigase.disco.XMPPService

  `CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractComponent()`
  Deprecated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addOutPacket(Packet packet, AsyncCallback asyncCallback)`
  Deprecated.
  `void`
  `everyMinute()`
  Deprecated.
  Utility method executed precisely every minute.
  `abstract String`
  `getComponentVersion()`
  Deprecated.
  Returns version of component.
  `protected abstract Map<String,Class<? extends Module>>`
  `getDefaultModulesList()`
  Deprecated.
  Returns default map of components.
  `Map<String,Object>`
  `getDefaults(Map<String,Object> params)`
  Deprecated.
  Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values.
  `Kernel`
  `getKernel()`
  Deprecated.
  `ResponseManager`
  `getResponseManager()`
  Deprecated.
  `StanzaProcessor`
  `getStanzaProcessor()`
  Deprecated.
  `void`
  `initBindings(Bindings binds)`
  Deprecated.
  Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
  `protected void`
  `initModules(Map<String,Object> props)`
  Deprecated.
  `abstract boolean`
  `isDiscoNonAdmin()`
  Deprecated.
  Is this component discoverable by disco#items for domain by non admin users.
  `void`
  `processPacket(Packet packet)`
  Deprecated.
  This is the main `Packet` processing method.
  `void`
  `setEventBus(EventBus eventBus)`
  Deprecated.
  `void`
  `setKernel(Kernel kernel)`
  Deprecated.
  `void`
  `setProperties(Map<String,Object> props)`
  Deprecated.
  Sets all configuration properties for the object.
  `void`
  `setResponseManager(ResponseManager responseManager)`
  Deprecated.
  `void`
  `setStanzaProcessor(StanzaProcessor stanzaProcessor)`
  Deprecated.
  `void`
  `updateServiceEntity()`
  Deprecated.

  ### Methods inherited from class tigase.server.AbstractMessageReceiver

  `addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, beanConfigurationChanged, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, getStatistics, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setCompId, setIncoming_filters, setName, setOutgoing_filters, setParent, setSchedulerThreads_size, start, stop, updateFiltersName`

  ### Methods inherited from class tigase.server.BasicComponent

  `addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface tigase.server.MessageReceiver

  `getDefHostName`

  ### Methods inherited from interface tigase.server.ServerComponent

  `getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release, setName`

  ### Methods inherited from interface tigase.stats.StatisticsContainerIfc

  `getName`

  ### Methods inherited from interface tigase.disco.XMPPService

  `getDiscoFeatures, getDiscoInfo, getDiscoItems`

- ## Field Details

  - ### COMPONENT

    protected static final String COMPONENT
    Deprecated.
    See Also:
      - Constant Field Values

  - ### log

    protected final Logger log
    Deprecated.

  - ### eventBus

    @Inject(bean="eventBus") protected EventBus eventBus
    Deprecated.

- ## Constructor Details

  - ### AbstractComponent

    public AbstractComponent()
    Deprecated.

- ## Method Details

  - ### everyMinute

    public void everyMinute()
    Deprecated.
    Description copied from class: `AbstractMessageReceiver`
    Utility method executed precisely every minute. A component can overwrite the method to put own code to be executed at the regular intervals of time.
    Note, no extensive calculations should happen in this method nor long lasting operations. It is essential that the method processing does not exceed 1 minute. The overriding method must call the the super method first and only then run own code.
    Overrides:
      `everyMinute` in class `AbstractMessageReceiver`

  - ### getComponentVersion

    public abstract String getComponentVersion()
    Deprecated.
    Returns version of component. Used for Service Discovery purposes.
    Returns:
      version of component.

  - ### getDefaults

    public Map<String,Object> getDefaults(Map<String,Object> params)
    Deprecated.
    Description copied from interface: `Configurable`
    Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values. All the default parameters returned from this method are later passed to the `setProperties(...)` method. Some of them may have changed value if they have been overwritten in the server configuration. The configuration property value can be of any of the basic types: `int`, `long`, `boolean`, `String`.
    Specified by:
      `getDefaults` in interface `Configurable`
    Overrides:
      `getDefaults` in class `BasicComponent`
    Parameters:
      `params` - is a `Map` with some initial properties set for the starting up server. These parameters can be used as a hints to generate component's default configuration.
    Returns:
      a `Map` with the component default configuration.

  - ### getKernel

    public Kernel getKernel()
    Deprecated.

  - ### setKernel

    public void setKernel(Kernel kernel)
    Deprecated.

  - ### getResponseManager

    public ResponseManager getResponseManager()
    Deprecated.

  - ### setResponseManager

    public void setResponseManager(ResponseManager responseManager)
    Deprecated.

  - ### getStanzaProcessor

    public StanzaProcessor getStanzaProcessor()
    Deprecated.

  - ### setStanzaProcessor

    public void setStanzaProcessor(StanzaProcessor stanzaProcessor)
    Deprecated.

  - ### initBindings

    public void initBindings(Bindings binds)
    Deprecated.
    Description copied from class: `BasicComponent`
    Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
    Overrides:
      `initBindings` in class `BasicComponent`
    Parameters:
      `binds` - A mapping of key/value pairs, all of whose keys are Strings.

  - ### isDiscoNonAdmin

    public abstract boolean isDiscoNonAdmin()
    Deprecated.
    Is this component discoverable by disco#items for domain by non admin users.
    Returns:
      `true` - if yes

  - ### processPacket

    public void processPacket(Packet packet)
    Deprecated.
    Description copied from class: `AbstractMessageReceiver`
    This is the main `Packet` processing method. It is called concurrently from many threads so implementing it in thread save manner is essential. The method is called for each packet addressed to the component.
    Please note, the `Packet` instance may be processed by different parts of the server, different components or plugins at the same time. Therefore this is very important to tread the `Packet` instance as unmodifiable object.
    Processing in this method is asynchronous, therefore there is no result value. If there are some 'result' packets generated during processing, they should be passed back using `addOutPacket(Packet)` method.
    Specified by:
      `processPacket` in class `AbstractMessageReceiver`
    Parameters:
      `packet` - is an instance of the `Packet` class passed for processing.

  - ### setProperties

    public void setProperties(Map<String,Object> props) throws ConfigurationException
    Deprecated.
    Description copied from interface: `Configurable`
    Sets all configuration properties for the object.
    Specified by:
      `setProperties` in interface `Configurable`
    Overrides:
      `setProperties` in class `BasicComponent`
    Parameters:
      `props` - `Map` with the configuration
    Throws:
      `ConfigurationException` - - if setting configuration will fail which will make it unable to work

  - ### updateServiceEntity

    public void updateServiceEntity()
    Deprecated.
    Overrides:
      `updateServiceEntity` in class `BasicComponent`

  - ### setEventBus

    public void setEventBus(EventBus eventBus)
    Deprecated.

  - ### addOutPacket

    protected void addOutPacket(Packet packet, AsyncCallback asyncCallback)
    Deprecated.

  - ### getDefaultModulesList

    protected abstract Map<String,Class<? extends Module>> getDefaultModulesList()
    Deprecated.
    Returns default map of components. Keys in map are used as component identifiers.
    This map may be modified by `config.tdsl`:
    `<component_name>/modules/<module_name>[S]=<module_class>`
    Returns:
      map of default modules.

  - ### initModules

    protected void initModules(Map<String,Object> props) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException
    Deprecated.
    Throws:
      `InstantiationException`
      `IllegalAccessException`
      `IllegalArgumentException`
      `InvocationTargetException`