tigase.server

## Class BasicComponent

- java.lang.Object
- - tigase.server.BasicComponent

- All Implemented Interfaces:
    Configurable, XMPPService, ServerComponent, VHostListener
  Direct Known Subclasses:
    AbstractComponentRegistrator, AbstractMessageReceiver

      public class BasicComponent
      extends Object
      implements Configurable, XMPPService, VHostListener

  Created: Oct 17, 2009 7:49:05 PM
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Set<tigase.xmpp.BareJID>` | `admins` List of the component administrators
    `static String` | `ALL_PROP_KEY` Field description
    `static String` | `COMMAND_PROP_NODE` Field description
    `protected Map<String,CommandIfc>` | `scriptCommands` Field description
    `static String` | `SCRIPTS_DIR_PROP_DEF` Field description
    `static String` | `SCRIPTS_DIR_PROP_KEY` Field description
    `protected VHostManagerIfc` | `vHostManager` Field description

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

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

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

      `CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicComponent()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addComponentDomain(String domain)` Method description
    `boolean` | `canCallCommand(tigase.xmpp.JID jid, String commandId)`
    `boolean` | `checkCommandAcl(tigase.xmpp.JID jid, EnumSet<CmdAcl> acl)` Method description
    `tigase.xmpp.JID` | `getComponentId()` Method description
    `Map<String,Object>` | `getDefaults(Map<String,Object> params)` Method description
    `tigase.xmpp.BareJID` | `getDefHostName()` Method description
    `tigase.xmpp.BareJID` | `getDefVHostItem()` Method description
    `String` | `getDiscoCategory()` Method description
    `String` | `getDiscoCategoryType()` Method description
    `String` | `getDiscoDescription()` Method description
    `List<tigase.xml.Element>` | `getDiscoFeatures()` Deprecated.
    `List<tigase.xml.Element>` | `getDiscoFeatures(tigase.xmpp.JID from)` Method description
    `tigase.xml.Element` | `getDiscoInfo(String node, tigase.xmpp.JID jid)` Deprecated.
    `tigase.xml.Element` | `getDiscoInfo(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)` Method description
    `List<tigase.xml.Element>` | `getDiscoItems(String node, tigase.xmpp.JID jid)` Deprecated.
    `List<tigase.xml.Element>` | `getDiscoItems(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)` Method description
    `String` | `getName()` Method description
    `protected Map<String,CommandIfc>` | `getScriptCommands()` Method description
    `List<tigase.xml.Element>` | `getScriptItems(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)` Method description
    `protected ServiceEntity` | `getServiceEntity()` Method description
    `VHostItem` | `getVHostItem(String domain)` Method description
    `boolean` | `handlesLocalDomains()` Method description
    `boolean` | `handlesNameSubdomains()` Method description
    `boolean` | `handlesNonLocalDomains()` Method description
    `void` | `initBindings(Bindings binds)` Method description
    `void` | `initializationCompleted()` Method description
    `boolean` | `isAdmin(tigase.xmpp.JID jid)` Method description
    `boolean` | `isInitializationComplete()` Method description
    `boolean` | `isLocalDomain(String domain)` Method description
    `boolean` | `isLocalDomainOrComponent(String domain)` Method description
    `protected boolean` | `isNonAdminCommands()` Method description
    `boolean` | `isSubdomain()` Method returns true is component should be represented as subdomain
    `void` | `processPacket(Packet packet, Queue<Packet> results)` Method description
    `protected boolean` | `processScriptCommand(Packet pc, Queue<Packet> results)` Method description
    `void` | `release()` Method description
    `void` | `removeComponentDomain(String domain)` Method description
    `void` | `removeServiceDiscoveryItem(String jid, String node, String description)` Method description
    `void` | `setName(String name)` Method description
    `void` | `setProperties(Map<String,Object> props)` Method description
    `void` | `setVHostManager(VHostManagerIfc manager)` Method description
    `void` | `updateServiceDiscoveryItem(String jid, String node, String description, boolean admin)` Method description
    `void` | `updateServiceDiscoveryItem(String jid, String node, String description, boolean admin, String... features)` Method description
    `void` | `updateServiceDiscoveryItem(String jid, String node, String description, String category, String type, boolean admin, String... features)` Method description

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

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

- - ### Field Detail

    - #### ALL_PROP_KEY

          public static final String ALL_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### COMMAND_PROP_NODE

          public static final String COMMAND_PROP_NODE

      Field description
      See Also:
        Constant Field Values

    - #### SCRIPTS_DIR_PROP_DEF

          public static final String SCRIPTS_DIR_PROP_DEF

      Field description
      See Also:
        Constant Field Values

    - #### SCRIPTS_DIR_PROP_KEY

          public static final String SCRIPTS_DIR_PROP_KEY

      Field description
      See Also:
        Constant Field Values

    - #### vHostManager

          protected VHostManagerIfc vHostManager

      Field description

    - #### scriptCommands

          protected Map<String,CommandIfc> scriptCommands

      Field description

    - #### admins

          protected Set<tigase.xmpp.BareJID> admins

      List of the component administrators

  - ### Constructor Detail

    - #### BasicComponent

          public BasicComponent()

  - ### Method Detail

    - #### addComponentDomain

          public void addComponentDomain(String domain)

      Method description
      Parameters:
        `domain` -

    - #### canCallCommand

          public boolean canCallCommand(tigase.xmpp.JID jid,
                               String commandId)

      Parameters:
        `jid` -
        `commandId` -
      Returns:

    - #### checkCommandAcl

          public boolean checkCommandAcl(tigase.xmpp.JID jid,
                                EnumSet<CmdAcl> acl)

      Method description
      Parameters:
        `jid` -
        `acl` -
      Returns:

    - #### handlesLocalDomains

          public boolean handlesLocalDomains()

      Method description
      Specified by:
        `handlesLocalDomains` in interface `VHostListener`
      Returns:

    - #### handlesNameSubdomains

          public boolean handlesNameSubdomains()

      Method description
      Specified by:
        `handlesNameSubdomains` in interface `VHostListener`
      Returns:

    - #### handlesNonLocalDomains

          public boolean handlesNonLocalDomains()

      Method description
      Specified by:
        `handlesNonLocalDomains` in interface `VHostListener`
      Returns:

    - #### initBindings

          public void initBindings(Bindings binds)

      Method description
      Parameters:
        `binds` -

    - #### initializationCompleted

          public void initializationCompleted()

      Method description
      Specified by:
        `initializationCompleted` in interface `ServerComponent`

    - #### processPacket

          public void processPacket(Packet packet,
                           Queue<Packet> results)

      Method description
      Specified by:
        `processPacket` in interface `ServerComponent`
      Parameters:
        `packet` -
        `results` -

    - #### release

          public void release()

      Method description
      Specified by:
        `release` in interface `ServerComponent`

    - #### removeComponentDomain

          public void removeComponentDomain(String domain)

      Method description
      Parameters:
        `domain` -

    - #### removeServiceDiscoveryItem

          public void removeServiceDiscoveryItem(String jid,
                                        String node,
                                        String description)

      Method description
      Parameters:
        `jid` -
        `node` -
        `description` -

    - #### updateServiceDiscoveryItem

          public void updateServiceDiscoveryItem(String jid,
                                        String node,
                                        String description,
                                        boolean admin)

      Method description
      Parameters:
        `jid` -
        `node` -
        `description` -
        `admin` -

    - #### updateServiceDiscoveryItem

          public void updateServiceDiscoveryItem(String jid,
                                        String node,
                                        String description,
                                        boolean admin,
                                        String... features)

      Method description
      Parameters:
        `jid` -
        `node` -
        `description` -
        `admin` -
        `features` -

    - #### updateServiceDiscoveryItem

          public void updateServiceDiscoveryItem(String jid,
                                        String node,
                                        String description,
                                        String category,
                                        String type,
                                        boolean admin,
                                        String... features)

      Method description
      Parameters:
        `jid` -
        `node` -
        `description` -
        `category` -
        `type` -
        `admin` -
        `features` -

    - #### getComponentId

          public tigase.xmpp.JID getComponentId()

      Method description
      Specified by:
        `getComponentId` in interface `ServerComponent`
      Returns:

    - #### getDefaults

          public Map<String,Object> getDefaults(Map<String,Object> params)

      Method description
      Specified by:
        `getDefaults` in interface `Configurable`
      Parameters:
        `params` -
      Returns:

    - #### getDefHostName

          public tigase.xmpp.BareJID getDefHostName()

      Method description
      Returns:

    - #### getDefVHostItem

          public tigase.xmpp.BareJID getDefVHostItem()

      Method description
      Returns:

    - #### getDiscoCategory

          public String getDiscoCategory()

      Method description
      Returns:

    - #### getDiscoCategoryType

          public String getDiscoCategoryType()

      Method description
      Returns:

    - #### getDiscoDescription

          public String getDiscoDescription()

      Method description
      Returns:

    - #### getDiscoFeatures

          @Deprecated
          public List<tigase.xml.Element> getDiscoFeatures()

      Deprecated.
      Exists for backward compatibility with the old API.
      Returns:

    - #### getDiscoFeatures

          public List<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.JID from)

      Method description
      Specified by:
        `getDiscoFeatures` in interface `XMPPService`
      Parameters:
        `from` -
      Returns:

    - #### getDiscoInfo

          @Deprecated
          public tigase.xml.Element getDiscoInfo(String node,
                                                   tigase.xmpp.JID jid)

      Deprecated.
      Exists for backward compatibility with the old API.
      Parameters:
        `node` -
        `jid` -
      Returns:

    - #### getDiscoInfo

          public tigase.xml.Element getDiscoInfo(String node,
                                        tigase.xmpp.JID jid,
                                        tigase.xmpp.JID from)

      Method description
      Specified by:
        `getDiscoInfo` in interface `XMPPService`
      Parameters:
        `node` -
        `jid` -
        `from` -
      Returns:

    - #### getDiscoItems

          @Deprecated
          public List<tigase.xml.Element> getDiscoItems(String node,
                                                          tigase.xmpp.JID jid)

      Deprecated.
      Exists for backward compatibility with the old API.
      Parameters:
        `node` -
        `jid` -
      Returns:

    - #### getDiscoItems

          public List<tigase.xml.Element> getDiscoItems(String node,
                                               tigase.xmpp.JID jid,
                                               tigase.xmpp.JID from)

      Method description
      Specified by:
        `getDiscoItems` in interface `XMPPService`
      Parameters:
        `node` -
        `jid` -
        `from` -
      Returns:

    - #### getName

          public String getName()

      Method description
      Specified by:
        `getName` in interface `ServerComponent`
      Returns:

    - #### getScriptItems

          public List<tigase.xml.Element> getScriptItems(String node,
                                                tigase.xmpp.JID jid,
                                                tigase.xmpp.JID from)

      Method description
      Parameters:
        `node` -
        `jid` -
        `from` -
      Returns:

    - #### getVHostItem

          public VHostItem getVHostItem(String domain)

      Method description
      Parameters:
        `domain` -
      Returns:

    - #### isAdmin

          public boolean isAdmin(tigase.xmpp.JID jid)

      Method description
      Parameters:
        `jid` -
      Returns:

    - #### isInitializationComplete

          public boolean isInitializationComplete()

      Method description
      Specified by:
        `isInitializationComplete` in interface `ServerComponent`
      Returns:

    - #### isLocalDomain

          public boolean isLocalDomain(String domain)

      Method description
      Parameters:
        `domain` -
      Returns:

    - #### isLocalDomainOrComponent

          public boolean isLocalDomainOrComponent(String domain)

      Method description
      Parameters:
        `domain` -
      Returns:

    - #### isSubdomain

          public boolean isSubdomain()

      Method returns true is component should be represented as subdomain
      Returns:

    - #### setName

          public void setName(String name)

      Method description
      Specified by:
        `setName` in interface `ServerComponent`
      Parameters:
        `name` -

    - #### setProperties

          public void setProperties(Map<String,Object> props)

      Method description
      Specified by:
        `setProperties` in interface `Configurable`
      Parameters:
        `props` -

    - #### setVHostManager

          public void setVHostManager(VHostManagerIfc manager)

      Method description
      Specified by:
        `setVHostManager` in interface `VHostListener`
      Parameters:
        `manager` -

    - #### processScriptCommand

          protected boolean processScriptCommand(Packet pc,
                                     Queue<Packet> results)

      Method description
      Parameters:
        `pc` -
        `results` -
      Returns:

    - #### getScriptCommands

          protected Map<String,CommandIfc> getScriptCommands()

      Method description
      Returns:

    - #### getServiceEntity

          protected ServiceEntity getServiceEntity()

      Method description
      Returns:

    - #### isNonAdminCommands

          protected boolean isNonAdminCommands()

      Method description
      Returns:

Copyright © 2013 Tigase. All rights reserved.