Package tigase.conf

## Class ConfigXMLRepository

- java.lang.Object
- - tigase.conf.ConfigurationCache
  - - tigase.conf.ConfigXMLRepository

- All Implemented Interfaces:
    `java.lang.Iterable<ConfigItem>`, `ConfigRepositoryIfc`, `ComponentRepository<ConfigItem>`, `Repository`

      public class ConfigXMLRepository
      extends ConfigurationCache

  Class `ConfigXMLRepository` provides access to configuration settings.

  Created: Sat Nov 13 18:53:21 2004

  Author:
    Artur Hefczyc

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface tigase.db.Repository

      `Repository.Meta, Repository.SchemaId`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `COMPONENT_NODE` |
    `static java.lang.String` | `ROOT_NODE` |
    `static java.lang.String` | `XMPP_CONFIG_FILE_PROPERTY_KEY` |
    `static java.lang.String` | `XMPP_CONFIG_FILE_PROPERTY_VAL` |

    - ### Fields inherited from class tigase.conf.ConfigurationCache

      `CONFIG_DUMP_FILE_PROP_DEF, CONFIG_DUMP_FILE_PROP_KEY`

    - ### Fields inherited from interface tigase.db.comp.ComponentRepository

      `COMP_REPO_BIND`

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

      `RELOAD_DELAY, RESOURCE_URI`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ConfigXMLRepository()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addItem​(java.lang.String compName, ConfigItem item)` |
    `java.util.Collection<ConfigItem>` | `allItems()` | Returns a collection with all items stored in the repository.
    `java.lang.String[]` | `getCompNames()` | Returns all component names for which there are some configuration settings available.
    `static ConfigXMLRepository` | `getConfigRepository()` |
    `static ConfigXMLRepository` | `getConfigRepository​(boolean debug, java.lang.String file_name)` |
    `static ConfigXMLRepository` | `getConfigRepository​(java.lang.String file_name)` |
    `ConfigItem` | `getItem​(java.lang.String compName, java.lang.String node, java.lang.String key)` |
    `java.util.Set<ConfigItem>` | `getItemsForComponent​(java.lang.String compName)` | Get set of config items stored for component
    `java.lang.String[]` | `getKeys​(java.lang.String root, java.lang.String node)` | Returns an array of all configuration keys for a given component and configuration node.
    `void` | `initRepository​(java.lang.String repo_uri, java.util.Map<java.lang.String,​java.lang.String> params)` | Method is deprecated and should not be user any more.
    `java.lang.String` | `nodeForPackage​(java.lang.Class cls)` |
    `void` | `removeItem​(java.lang.String compName, ConfigItem item)` |
    `int` | `size()` | The method returns number of items in the repository.
    `void` | `store()` | The method is called to store all data in the database.

    - ### Methods inherited from class tigase.conf.ConfigurationCache

      `addItem, addItem, addItemNoStore, addRepoChangeListener, contains, destroy, get, getDefaults, getDefHostname, getInitProperties, getItem, getItemInstance, getProperties, iterator, putProperties, reload, remove, removeItem, removeItemNoStore, removeRepoChangeListener, set, setAutoloadTimer, setDefHostname, setProperties, validateItem`

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

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

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Field Detail

    - #### COMPONENT_NODE

          public static final java.lang.String COMPONENT_NODE

      See Also:
        Constant Field Values

    - #### ROOT_NODE

          public static final java.lang.String ROOT_NODE

      See Also:
        Constant Field Values

    - #### XMPP_CONFIG_FILE_PROPERTY_KEY

          public static final java.lang.String XMPP_CONFIG_FILE_PROPERTY_KEY

      See Also:
        Constant Field Values

    - #### XMPP_CONFIG_FILE_PROPERTY_VAL

          public static final java.lang.String XMPP_CONFIG_FILE_PROPERTY_VAL

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ConfigXMLRepository

          public ConfigXMLRepository()

  - ### Method Detail

    - #### getConfigRepository

          public static ConfigXMLRepository getConfigRepository()
                                                         throws XMLDBException

      Throws:
        `XMLDBException`

    - #### getConfigRepository

          public static ConfigXMLRepository getConfigRepository​(java.lang.String file_name)
                                                         throws XMLDBException

      Throws:
        `XMLDBException`

    - #### getConfigRepository

          public static ConfigXMLRepository getConfigRepository​(boolean debug,
                                                                java.lang.String file_name)
                                                         throws XMLDBException

      Throws:
        `XMLDBException`

    - #### addItem

          public void addItem​(java.lang.String compName,
                              ConfigItem item)

      Overrides:
        `addItem` in class `ConfigurationCache`

    - #### allItems

          public java.util.Collection<ConfigItem> allItems()
                                                    throws TigaseDBException

      Description copied from interface: `ComponentRepository`
      Returns a collection with all items stored in the repository.
      Specified by:
        `allItems` in interface `ComponentRepository<ConfigItem>`
      Overrides:
        `allItems` in class `ConfigurationCache`
      Throws:
        `TigaseDBException`

    - #### getCompNames

          public java.lang.String[] getCompNames()

      Description copied from interface: `ConfigRepositoryIfc`
      Returns all component names for which there are some configuration settings available.
      Specified by:
        `getCompNames` in interface `ConfigRepositoryIfc`
      Overrides:
        `getCompNames` in class `ConfigurationCache`
      Returns:
        array of component names

    - #### getItem

          public ConfigItem getItem​(java.lang.String compName,
                                    java.lang.String node,
                                    java.lang.String key)

      Overrides:
        `getItem` in class `ConfigurationCache`

    - #### getItemsForComponent

          public java.util.Set<ConfigItem> getItemsForComponent​(java.lang.String compName)

      Description copied from interface: `ConfigRepositoryIfc`
      Get set of config items stored for component
      Specified by:
        `getItemsForComponent` in interface `ConfigRepositoryIfc`
      Overrides:
        `getItemsForComponent` in class `ConfigurationCache`
      Returns:
        set of component items

    - #### getKeys

          public java.lang.String[] getKeys​(java.lang.String root,
                                            java.lang.String node)

      Description copied from interface: `ConfigRepositoryIfc`
      Returns an array of all configuration keys for a given component and configuration node.
      Specified by:
        `getKeys` in interface `ConfigRepositoryIfc`
      Overrides:
        `getKeys` in class `ConfigurationCache`
      Returns:
        array of keys for component and node

    - #### initRepository

          public void initRepository​(java.lang.String repo_uri,
                                     java.util.Map<java.lang.String,​java.lang.String> params)
                              throws DBInitException

      Description copied from interface: `Repository`
      Method is deprecated and should not be user any more.
      The method is called to initialize the data repository. Depending on the implementation all the initialization parameters can be passed either via `resource_uri` parameter as the database connection string or via `params` map if the required repository parameters are more complex or both.
      Specified by:
        `initRepository` in interface `Repository`
      Overrides:
        `initRepository` in class `ConfigurationCache`
      Parameters:
        `repo_uri` - value in most cases representing the database connection string.
        `params` - is a `Map` with repository properties necessary to initialize and perform all the functions. The initialization parameters are implementation dependent.
      Throws:
        `DBInitException` - if there was an error during repository initialization. Some implementations, though, perform so called lazy initialization so even though there is a problem with the underlying repository it may not be signaled through this method call.

    - #### nodeForPackage

          public java.lang.String nodeForPackage​(java.lang.Class cls)

    - #### removeItem

          public void removeItem​(java.lang.String compName,
                                 ConfigItem item)

      Overrides:
        `removeItem` in class `ConfigurationCache`

    - #### size

          public int size()

      Description copied from interface: `ComponentRepository`
      The method returns number of items in the repository.
      Specified by:
        `size` in interface `ComponentRepository<ConfigItem>`
      Overrides:
        `size` in class `ConfigurationCache`
      Returns:
        an `int` value with number of items in the repository.

    - #### store

          public void store()
                     throws TigaseDBException

      Description copied from interface: `ComponentRepository`
      The method is called to store all data in the database. It is used when the repository has been changed in some way and the changes have to be put to a permanent storage for later retrieval.
      Specified by:
        `store` in interface `ComponentRepository<ConfigItem>`
      Overrides:
        `store` in class `ConfigurationCache`
      Throws:
        `TigaseDBException`