Interface IConfigStore

  • All Known Implementing Classes:
    AuthenticationConfig, AuthManagerConfig, AuthManagersConfig, AuthorizationConfig, AuthzManagerConfig, AuthzManagersConfig, DatabaseConfig, EngineConfig, LDAPAuthenticationConfig, LDAPConfig, LDAPConnectionConfig, PreOpConfig, PropConfigStore, SubsystemConfig, SubsystemsConfig

    public interface IConfigStore
    An interface represents a configuration store. A configuration store is an abstraction of a hierarchical store to keep arbitrary data indexed by string names.

    In the following example:

          param1=value1
          configStore1.param11=value11
          configStore1.param12=value12
          configStore1.subStore1.param111=value111
          configStore1.subStore1.param112=value112
          configStore2.param21=value21
     
    The top config store has parameters param1 and sub-stores configStore1 and configStore2.
    The following illustrates how a config store is used.
     // the top config store is passed to the following method.
     public void init(IConfigStore config) throws EBaseException {
         IConfigStore store = config;
         String valx = config.getString("param1");
         // valx is "value1" <p>
    
         IConfigStore substore1 = config.getSubStore("configStore1");
         String valy = substore1.getString("param11");
         // valy is "value11" <p>
    
         IConfigStore substore2 = config.getSubStore("configStore2");
         String valz = substore2.getString("param21");
         // valz is "value21" <p>
     }
     
    Version:
    $Revision$, $Date$
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clear()
      Clear the config store.
      void commit​(boolean createBackup)
      Store config into storage (file or LDAP).
      java.lang.String get​(java.lang.String name)
      Gets a property.
      java.math.BigInteger getBigInteger​(java.lang.String name)
      Retrieves the given property as a big integer.
      java.math.BigInteger getBigInteger​(java.lang.String name, java.math.BigInteger defval)
      Retrieves the given property as a big integer.
      boolean getBoolean​(java.lang.String name)
      Retrieves the given property as a boolean.
      boolean getBoolean​(java.lang.String name, boolean defval)
      Retrieves the given property as a boolean.
      byte[] getByteArray​(java.lang.String name)
      Retrieves the value of a property as a byte array.
      byte[] getByteArray​(java.lang.String name, byte[] defval)
      Retrieves the value of a property as a byte array, using the given default value if property is not present.
      int getInteger​(java.lang.String name)
      Retrieves the given property as an integer.
      int getInteger​(java.lang.String name, int defval)
      Retrieves the given property as an integer.
      java.lang.String getName()
      Gets the name of this Configuration Store.
      java.util.Map<java.lang.String,​java.lang.String> getProperties()
      Get properties as a map.
      java.util.Enumeration<java.lang.String> getPropertyNames()
      Retrives and enumeration of all properties in this config-store.
      java.lang.String getString​(java.lang.String name)
      Retrieves the value of the given property as a string.
      java.lang.String getString​(java.lang.String name, java.lang.String defval)
      Retrieves the value of a given property as a string or the given default value if the property is not present.
      IConfigStore getSubStore​(java.lang.String name)
      Retrieves the given sub-store.
      <T extends IConfigStore>
      T
      getSubStore​(java.lang.String name, java.lang.Class<T> clazz)  
      java.util.Enumeration<java.lang.String> getSubStoreNames()
      Returns an enumeration of the names of the substores of this config-store.
      java.util.Enumeration<java.lang.String> keys()
      Returns an enumeration of the config store's keys.
      void load()
      Load config from storage storage (file or LDAP).
      void load​(java.io.InputStream in)
      Reads a config store from an input stream.
      IConfigStore makeSubStore​(java.lang.String name)
      Creates a nested sub-store with the specified name.
      java.lang.String put​(java.lang.String name, java.lang.String value)
      Retrieves a property.
      void putBigInteger​(java.lang.String name, java.math.BigInteger value)
      Sets a property and its value as an integer.
      void putBoolean​(java.lang.String name, boolean value)
      Stores the given property and its value as a boolean.
      void putByteArray​(java.lang.String name, byte[] value)
      Stores the given property and value as a byte array.
      void putInteger​(java.lang.String name, int value)
      Sets a property and its value as an integer.
      void putString​(java.lang.String name, java.lang.String value)
      Stores a property and its value as a string.
      void remove​(java.lang.String name)  
      void removeSubStore​(java.lang.String name)
      Removes sub-store with the given name.
      int size()
      Return the number of items in this substore
      void store​(java.io.OutputStream out)
      Stores this config store to the specified output stream.
    • Method Detail

      • get

        java.lang.String get​(java.lang.String name)
        Gets a property.

        Parameters:
        name - The property name
        Returns:
        property value
      • put

        java.lang.String put​(java.lang.String name,
                             java.lang.String value)
        Retrieves a property.

        Parameters:
        name - The property name
        value - The property value
      • keys

        java.util.Enumeration<java.lang.String> keys()
        Returns an enumeration of the config store's keys.

        Returns:
        a list of keys
        See Also:
        Hashtable.elements(), Enumeration
      • clear

        void clear()
        Clear the config store.
      • load

        void load()
           throws java.lang.Exception
        Load config from storage storage (file or LDAP).
        Throws:
        java.lang.Exception - If an error occurs while loading.
      • commit

        void commit​(boolean createBackup)
             throws EBaseException
        Store config into storage (file or LDAP).
        Parameters:
        createBackup - true if a backup file should be created
        Throws:
        EBaseException - failed to commit
      • load

        void load​(java.io.InputStream in)
           throws java.io.IOException
        Reads a config store from an input stream.
        Parameters:
        in - input stream where the properties are located
        Throws:
        java.io.IOException - If an IO error occurs while loading from input.
      • store

        void store​(java.io.OutputStream out)
            throws java.lang.Exception
        Stores this config store to the specified output stream.
        Parameters:
        out - output stream where the properties should be serialized
        Throws:
        java.lang.Exception
      • getName

        java.lang.String getName()
        Gets the name of this Configuration Store.

        Returns:
        The name of this Configuration store
      • getString

        java.lang.String getString​(java.lang.String name)
                            throws EPropertyNotFound,
                                   EBaseException
        Retrieves the value of the given property as a string.

        Parameters:
        name - The name of the property to get
        Returns:
        The value of the property as a String
        Throws:
        EPropertyNotFound - If the property is not present
        EBaseException - If an internal error occurred
      • getString

        java.lang.String getString​(java.lang.String name,
                                   java.lang.String defval)
                            throws EBaseException
        Retrieves the value of a given property as a string or the given default value if the property is not present.

        Parameters:
        name - The property to retrive
        defval - The default value to return if the property is not present
        Returns:
        The roperty value as a string
        Throws:
        EBaseException - If an internal error occurred
      • putString

        void putString​(java.lang.String name,
                       java.lang.String value)
        Stores a property and its value as a string.

        Parameters:
        name - The name of the property
        value - The value as a string
      • getByteArray

        byte[] getByteArray​(java.lang.String name)
                     throws EPropertyNotFound,
                            EBaseException
        Retrieves the value of a property as a byte array.

        Parameters:
        name - The property name
        Returns:
        The property value as a byte array
        Throws:
        EPropertyNotFound - If the property is not present
        EBaseException - If an internal error occurred
      • getByteArray

        byte[] getByteArray​(java.lang.String name,
                            byte[] defval)
                     throws EBaseException
        Retrieves the value of a property as a byte array, using the given default value if property is not present.

        Parameters:
        name - The name of the property
        defval - The default value if the property is not present.
        Returns:
        The property value as a byte array.
        Throws:
        EBaseException - If an internal error occurred
      • putByteArray

        void putByteArray​(java.lang.String name,
                          byte[] value)
        Stores the given property and value as a byte array.

        Parameters:
        name - The property name
        value - The value as a byte array to store
      • getBoolean

        boolean getBoolean​(java.lang.String name)
                    throws EPropertyNotFound,
                           EBaseException
        Retrieves the given property as a boolean.

        Parameters:
        name - The name of the property as a string.
        Returns:
        The value of the property as a boolean.
        Throws:
        EPropertyNotFound - If the property is not present
        EBaseException - If an internal error occurred
      • getBoolean

        boolean getBoolean​(java.lang.String name,
                           boolean defval)
                    throws EBaseException
        Retrieves the given property as a boolean.

        Parameters:
        name - The name of the property
        defval - The default value to turn as a boolean if property is not present
        Returns:
        The value of the property as a boolean.
        Throws:
        EBaseException - If an internal error occurred
      • putBoolean

        void putBoolean​(java.lang.String name,
                        boolean value)
        Stores the given property and its value as a boolean.

        Parameters:
        name - The property name
        value - The value as a boolean
      • getInteger

        int getInteger​(java.lang.String name)
                throws EPropertyNotFound,
                       EBaseException
        Retrieves the given property as an integer.

        Parameters:
        name - The property name
        Returns:
        The property value as an integer
        Throws:
        EPropertyNotFound - If property is not found
        EBaseException - If an internal error occurred
      • getInteger

        int getInteger​(java.lang.String name,
                       int defval)
                throws EBaseException
        Retrieves the given property as an integer.

        Parameters:
        name - The property name
        Returns:
        int The default value to return as an integer
        Throws:
        EBaseException - If the value cannot be converted to a integer
      • putInteger

        void putInteger​(java.lang.String name,
                        int value)
        Sets a property and its value as an integer.

        Parameters:
        name - parameter name
        value - integer value
      • getBigInteger

        java.math.BigInteger getBigInteger​(java.lang.String name)
                                    throws EPropertyNotFound,
                                           EBaseException
        Retrieves the given property as a big integer.

        Parameters:
        name - The property name
        Returns:
        The property value as a big integer
        Throws:
        EPropertyNotFound - If property is not found
        EBaseException - If an internal error occurred
      • getBigInteger

        java.math.BigInteger getBigInteger​(java.lang.String name,
                                           java.math.BigInteger defval)
                                    throws EBaseException
        Retrieves the given property as a big integer.

        Parameters:
        name - The property name
        Returns:
        int The default value to return as a big integer
        Throws:
        EBaseException - If the value cannot be converted to a integer
      • putBigInteger

        void putBigInteger​(java.lang.String name,
                           java.math.BigInteger value)
        Sets a property and its value as an integer.

        Parameters:
        name - parameter name
        value - big integer value
      • makeSubStore

        IConfigStore makeSubStore​(java.lang.String name)
        Creates a nested sub-store with the specified name.

        Parameters:
        name - The name of the sub-store
        Returns:
        The sub-store created
      • getSubStore

        IConfigStore getSubStore​(java.lang.String name)
        Retrieves the given sub-store.

        Parameters:
        name - The name of the sub-store
        Returns:
        The sub-store
      • getSubStore

        <T extends IConfigStore> T getSubStore​(java.lang.String name,
                                               java.lang.Class<T> clazz)
      • removeSubStore

        void removeSubStore​(java.lang.String name)
        Removes sub-store with the given name. (Removes all properties and sub-stores under this sub-store.)

        Parameters:
        name - The name of the sub-store to remove
      • remove

        void remove​(java.lang.String name)
      • getPropertyNames

        java.util.Enumeration<java.lang.String> getPropertyNames()
        Retrives and enumeration of all properties in this config-store.
        Returns:
        An enumeration of all properties in this config-store
      • getSubStoreNames

        java.util.Enumeration<java.lang.String> getSubStoreNames()
        Returns an enumeration of the names of the substores of this config-store.

        Returns:
        An enumeration of the names of the sub-stores of this config-store
      • size

        int size()
        Return the number of items in this substore
      • getProperties

        java.util.Map<java.lang.String,​java.lang.String> getProperties()
                                                                      throws EBaseException
        Get properties as a map.
        Throws:
        EBaseException