Package tigase.conf

# Class ConfigItem

java.lang.Object
tigase.db.comp.RepositoryItemAbstract
tigase.conf.ConfigItem

All Implemented Interfaces:
  `RepositoryItem`

public class ConfigItem extends RepositoryItemAbstract
Created: Dec 10, 2009 2:40:26 PM

Author:
  Artur Hefczyc

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `ConfigItem.FLAGS`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CLUSTER_NODE_ATTR`
  `static final String`
  `COMPONENT_NAME_ATTR`
  `static final String`
  `COMPONENT_NAME_LABEL`
  `static final String`
  `FLAG_ATTR`
  `static final String`
  `KEY_NAME_ATTR`
  `static final String`
  `KEY_NAME_LABEL`
  `static final String`
  `NODE_NAME_ATTR`
  `static final String`
  `NODE_NAME_LABEL`
  `static final String`
  `REPO_ITEM_ELEM_NAME`
  `static final String`
  `VALUE_ATTR`
  `static final String`
  `VALUE_LABEL`
  `static final String`
  `VALUE_TYPE_ATTR`

  ### Fields inherited from class tigase.db.comp.RepositoryItemAbstract

  `ADMINS_ATT, ADMINS_LABEL, OWNER_ATT, OWNER_LABEL`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConfigItem()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addCommandFields(Packet packet)`
  The method is used for handling ad-hoc commands.
  `boolean`
  `equals(Object o)`
  `String`
  `getClusterNode()`
  `String`
  `getCompName()`
  `String`
  `getConfigKey()`
  Returns a configuration property key which is constructed in a following way: `nodeName + "/" + keyName`
  `Object`
  `getConfigVal()`
  Returns a configuration property value.
  `String`
  `getConfigValToString()`
  `String`
  `getElemName()`
  `ConfigItem.FLAGS`
  `getFlag()`
  `String`
  `getKey()`
  Returns a unique key for the item in the repository.
  `String`
  `getKeyName()`
  Returns a property key which is constructed in a following way: `keyName`
  `String`
  `getNodeName()`
  `int`
  `hashCode()`
  `void`
  `initFromCommand(Packet packet)`
  The method used for handling ad-hoc commands.
  `void`
  `initFromElement(Element elem)`
  The item can be also initialized from a more complex repositories: XML repository or SQL database.
  `void`
  `initFromPropertyString(String propString)`
  The item can be initialized based on the data loaded from a configuration file.
  `boolean`
  `isCompNodeKey(String comp, String node, String key)`
  `boolean`
  `isComponent(String comp)`
  Checks if the given component name is equal to this item compName.
  `boolean`
  `isKey(String key)`
  Checks if the given key is equal to this item keyName.
  `boolean`
  `isNode(String node)`
  Checks if the given node is equal to this item nodeName
  `boolean`
  `isNodeKey(String node, String key)`
  Checks if the given node and key are equal to this item nodeName and keyName.
  `void`
  `set(String compName, String nodeName, String key, Object value)`
  `void`
  `set(String compName_m, String nodeName_m, String key_m, String value_str_m, char val_type_m, String flag_str_m)`
  `void`
  `set(String clusterNode, String compName, String nodeName, String key, Object value)`
  `void`
  `set(String clusterNode_m, String compName_m, String nodeName_m, String key_m, Object value_m, ConfigItem.FLAGS flag_m)`
  `void`
  `set(String clusterNode_m, String compName_m, String nodeName_m, String key_m, String value_str_m, char val_type_m, String flag_str_m)`
  `protected void`
  `setKey(String key)`
  `void`
  `setNodeKey(String clusterNode, String compName, String nodeKey, Object value)`
  `Element`
  `toElement()`
  Item data can be stored in a more complex form than a simple property string.
  `String`
  `toPropertyString()`
  The item can be initialized based on the data loaded from a configuration file.
  `String`
  `toString()`

  ### Methods inherited from class tigase.db.comp.RepositoryItemAbstract

  `getAdmins, getOwner, isAdmin, isOwner, setAdmins, setOwner`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### CLUSTER_NODE_ATTR

    public static final String CLUSTER_NODE_ATTR
    See Also:
      - Constant Field Values

  - ### COMPONENT_NAME_ATTR

    public static final String COMPONENT_NAME_ATTR
    See Also:
      - Constant Field Values

  - ### COMPONENT_NAME_LABEL

    public static final String COMPONENT_NAME_LABEL
    See Also:
      - Constant Field Values

  - ### FLAG_ATTR

    public static final String FLAG_ATTR
    See Also:
      - Constant Field Values

  - ### KEY_NAME_ATTR

    public static final String KEY_NAME_ATTR
    See Also:
      - Constant Field Values

  - ### KEY_NAME_LABEL

    public static final String KEY_NAME_LABEL
    See Also:
      - Constant Field Values

  - ### NODE_NAME_ATTR

    public static final String NODE_NAME_ATTR
    See Also:
      - Constant Field Values

  - ### NODE_NAME_LABEL

    public static final String NODE_NAME_LABEL
    See Also:
      - Constant Field Values

  - ### REPO_ITEM_ELEM_NAME

    public static final String REPO_ITEM_ELEM_NAME
    See Also:
      - Constant Field Values

  - ### VALUE_ATTR

    public static final String VALUE_ATTR
    See Also:
      - Constant Field Values

  - ### VALUE_LABEL

    public static final String VALUE_LABEL
    See Also:
      - Constant Field Values

  - ### VALUE_TYPE_ATTR

    public static final String VALUE_TYPE_ATTR
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ConfigItem

    public ConfigItem()

- ## Method Details

  - ### addCommandFields

    public void addCommandFields(Packet packet)
    Description copied from interface: `RepositoryItem`
    The method is used for handling ad-hoc commands. The 'empty' ad-hoc command packet is provided and the Item should fill it with fields for the user.
    Specified by:
      `addCommandFields` in interface `RepositoryItem`
    Overrides:
      `addCommandFields` in class `RepositoryItemAbstract`
    Parameters:
      `packet` - with empty ad-hoc command to fill with fields

  - ### getClusterNode

    public String getClusterNode()

  - ### getCompName

    public String getCompName()

  - ### getConfigKey

    public String getConfigKey()
    Returns a configuration property key which is constructed in a following way: `nodeName + "/" + keyName`

  - ### getConfigVal

    public Object getConfigVal()
    Returns a configuration property value.

  - ### getConfigValToString

    public String getConfigValToString()

  - ### getElemName

    public String getElemName()
    Specified by:
      `getElemName` in class `RepositoryItemAbstract`

  - ### getFlag

    public ConfigItem.FLAGS getFlag()

  - ### getKey

    public String getKey()
    Returns a unique key for the item in the repository. All items are stored in a memory cache which is a Map. And the key returned by this method is the item identifier in the Map.
    Returns ConfigItem key which is constructed in a following way: `compName + "/" + nodeName + "/" + keyName`
    Returns:
      an Item key.

  - ### setKey

    protected void setKey(String key)
    Specified by:
      `setKey` in class `RepositoryItemAbstract`

  - ### getKeyName

    public String getKeyName()
    Returns a property key which is constructed in a following way: `keyName`

  - ### getNodeName

    public String getNodeName()

  - ### initFromCommand

    public void initFromCommand(Packet packet)
    Description copied from interface: `RepositoryItem`
    The method used for handling ad-hoc commands. After a user fills all given field the ad-hoc command packet is passed back to the item to initialize it with data. Similar method to initFromElement(), but the data source is different.
    Specified by:
      `initFromCommand` in interface `RepositoryItem`
    Overrides:
      `initFromCommand` in class `RepositoryItemAbstract`
    Parameters:
      `packet` - with ad-hoc command filled by the user.

  - ### initFromElement

    public void initFromElement(Element elem)
    Description copied from interface: `RepositoryItem`
    The item can be also initialized from a more complex repositories: XML repository or SQL database. In such a case more complex representation is prefered, possibly carrying more information about the item. The method is called to initialize the item with a data parsed from an XML representation of the repository.
    Specified by:
      `initFromElement` in interface `RepositoryItem`
    Overrides:
      `initFromElement` in class `RepositoryItemAbstract`
    Parameters:
      `elem` - XML Element with all the item initialization data.

  - ### initFromPropertyString

    public void initFromPropertyString(String propString)
    Description copied from interface: `RepositoryItem`
    The item can be initialized based on the data loaded from a configuration file. In such a case the item representation is usually very simplified as a list of parameters separated by a marker. Please note, usually each item is separated from another with a comma, therefore do not use a comma in the item property string. Double collon is commonly used alternative.
    Parameters:
      `propString` - is a property string to initialize the RepositoryItem.

  - ### isCompNodeKey

    public boolean isCompNodeKey(String comp, String node, String key)

  - ### equals

    public boolean equals(Object o)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### isComponent

    public boolean isComponent(String comp)
    Checks if the given component name is equal to this item compName.

  - ### isKey

    public boolean isKey(String key)
    Checks if the given key is equal to this item keyName.

  - ### isNode

    public boolean isNode(String node)
    Checks if the given node is equal to this item nodeName

  - ### isNodeKey

    public boolean isNodeKey(String node, String key)
    Checks if the given node and key are equal to this item nodeName and keyName. This method call works the same way as following statement: `isNode(node) && isKey(key)`

  - ### set

    public void set(String clusterNode_m, String compName_m, String nodeName_m, String key_m, String value_str_m, char val_type_m, String flag_str_m)

  - ### set

    public void set(String clusterNode_m, String compName_m, String nodeName_m, String key_m, Object value_m, ConfigItem.FLAGS flag_m)

  - ### set

    public void set(String compName_m, String nodeName_m, String key_m, String value_str_m, char val_type_m, String flag_str_m)

  - ### set

    public void set(String compName, String nodeName, String key, Object value)

  - ### set

    public void set(String clusterNode, String compName, String nodeName, String key, Object value)

  - ### setNodeKey

    public void setNodeKey(String clusterNode, String compName, String nodeKey, Object value)

  - ### toElement

    public Element toElement()
    Description copied from interface: `RepositoryItem`
    Item data can be stored in a more complex form than a simple property string. The XML Element can contain much more detailed information about the element than the simplified form and is used to store the repository item in more advanced repositories then just property file. XML repository or SQL database can keep many records for repository item with as much detailed information as needed.
    Specified by:
      `toElement` in interface `RepositoryItem`
    Overrides:
      `toElement` in class `RepositoryItemAbstract`
    Returns:
      an XML Element with all the item initialization data.

  - ### toPropertyString

    public String toPropertyString()
    Description copied from interface: `RepositoryItem`
    The item can be initialized based on the data loaded from a configuration file. In such a case the item representation is usually very simplified as a list of parameters separated by a marker. Please note, usually each item is separated from another with a comma, therefore do not use a comma in the item property string. Double collon is commonly used alternative.
    Returns:
      a property string representing the repository item in a simplified form.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`