Package org.bgerp.app.cfg

# Class ConfigMap

java.lang.Object
java.util.AbstractMap<String,String>
org.bgerp.app.cfg.ConfigMap

All Implemented Interfaces:
  `Map<String,String>`

Direct Known Subclasses:
  `Preferences`, `SimpleConfigMap`

public abstract class ConfigMap extends AbstractMap<String,String>
Key - value strings map.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class java.util.AbstractMap

  `AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>`

  ## Nested classes/interfaces inherited from interface java.util.Map

  `Map.Entry<K,V>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static ConfigMap`
  `EMPTY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConfigMap()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `clearConfigs()`
  Clears all the parsed configurations from `configMap`.
  `abstract Set<Map.Entry<String,String>>`
  `entrySet()`
  `String`
  `get(Object key)`
  `abstract String`
  `get(String key, String def)`
  `BigDecimal`
  `getBigDecimal(String key, BigDecimal def)`
  `final boolean`
  `getBoolean(String key)`
  Retrieves by key a boolean value with default `false`.
  `final boolean`
  `getBoolean(String key, boolean defaultValue)`
  Retrieves by key a boolean value.
  `final <K extends Config>
  K`
  `getConfig(Class<K> clazz)`
  Creates if needed and gets pre parsed and cached configuration.
  `final Object`
  `getConfig(String className)`
  Same with `getConfig(Class)`, but with string parameter for calling from scripts.
  `String`
  `getDataString()`
  Serializes the data to `key=value` string lines
  `int`
  `getInt(String key)`
  `int`
  `getInt(String key, int def)`
  `long`
  `getLong(String key)`
  `long`
  `getLong(String key, long def)`
  `String`
  `getSok(String... keys)`
  Retrieves by key value with support of old keys.
  `String`
  `getSok(String def, boolean validate, String... keys)`
  Retrieves by key value with support of old keys.
  `boolean`
  `getSokBoolean(boolean def, boolean validate, String... keys)`
  Retrieves by key value with support of old keys.
  `boolean`
  `getSokBoolean(boolean def, String... keys)`
  Retrieves by key value with support of old keys.
  `long`
  `getSokLong(long def, boolean validate, String... keys)`
  Retrieves by key value with support of old keys.
  `long`
  `getSokLong(long def, String... keys)`
  Retrieves by key value with support of old keys.
  `<K extends Config>
  void`
  `removeConfig(Class<K> clazz)`
  Removes config from cache.
  `ConfigMap`
  `sub(String prefix)`
  Creates a sub map by a key prefix
  `SortedMap<Integer,ConfigMap>`
  `subIndexed(String prefix)`
  Creates a sorted map of maps by a key prefix
  `Map<String,ConfigMap>`
  `subKeyed(String prefix)`
  Creates a map of maps by a key prefix
  `ConfigMap`
  `subSok(String... prefixes)`
  Creates a sub map by key prefixes
  `SortedMap<Integer,ConfigMap>`
  `subSokIndexed(String... prefixes)`
  Creates a sorted map of maps by key prefixes
  `final <K extends Config>
  void`
  `validateConfig(Class<K> clazz)`
  Creates a configuration for validation purposes only..

  ### Methods inherited from class java.util.AbstractMap

  `clear, clone, containsKey, containsValue, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values`

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

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

  ### Methods inherited from interface java.util.Map

  `compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll`

- ## Field Details

  - ### EMPTY

    public static ConfigMap EMPTY

- ## Constructor Details

  - ### ConfigMap

    public ConfigMap()

- ## Method Details

  - ### get

    public abstract String get(String key, String def)

  - ### entrySet

    public abstract Set<Map.Entry<String,String>> entrySet()
    Specified by:
      `entrySet` in interface `Map<String,String>`
    Specified by:
      `entrySet` in class `AbstractMap<String,String>`

  - ### get

    public String get(Object key)
    Specified by:
      `get` in interface `Map<String,String>`
    Overrides:
      `get` in class `AbstractMap<String,String>`

  - ### getSok

    public String getSok(String def, boolean validate, String... keys) throws BGMessageException
    Retrieves by key value with support of old keys.
    Parameters:
      `def` - default value.
      `validate` - throw an exception on using old keys.
      `keys` - first key is the actual one, after - olds.
    Returns:
    Throws:
      `BGMessageException`

  - ### getSok

    public String getSok(String... keys)
    Retrieves by key value with support of old keys.
    Parameters:
      `keys` - first key is the actual one, after - olds.
    Returns:

  - ### getInt

    public int getInt(String key, int def)

  - ### getInt

    public int getInt(String key)

  - ### getLong

    public long getLong(String key, long def)

  - ### getLong

    public long getLong(String key)

  - ### getSokLong

    public long getSokLong(long def, boolean validate, String... keys) throws BGMessageException
    Retrieves by key value with support of old keys.
    Parameters:
      `def` - default value.
      `validate` - throw an exception on using old keys.
      `keys` - first key is the actual one, after - olds.
    Returns:
    Throws:
      `BGMessageException`

  - ### getSokLong

    public long getSokLong(long def, String... keys)
    Retrieves by key value with support of old keys.
    Parameters:
      `def` - default value.
      `keys` - first key is the actual one, after - olds.
    Returns:
    Throws:
      `BGMessageException`

  - ### getBoolean

    public final boolean getBoolean(String key)
    Retrieves by key a boolean value with default `false`.
    Parameters:
      `key` - the key.
    Returns:
    See Also:
      - `getBoolean(String, boolean)`

  - ### getBoolean

    public final boolean getBoolean(String key, boolean defaultValue)
    Retrieves by key a boolean value.
    Parameters:
      `key` - the key.
      `defaultValue` - default value.
    Returns:
    See Also:
      - `Utils.parseBoolean(String, Boolean)`

  - ### getSokBoolean

    public boolean getSokBoolean(boolean def, boolean validate, String... keys) throws BGMessageException
    Retrieves by key value with support of old keys.
    Parameters:
      `def` - default value.
      `validate` - throw an exception on using old keys.
      `keys` - first key is the actual one, after - olds.
    Returns:
    Throws:
      `BGMessageException`

  - ### getSokBoolean

    public boolean getSokBoolean(boolean def, String... keys)
    Retrieves by key value with support of old keys.
    Parameters:
      `def` - default value.
      `keys` - first key is the actual one, after - olds.
    Returns:
    Throws:
      `BGMessageException`

  - ### getBigDecimal

    public BigDecimal getBigDecimal(String key, BigDecimal def)

  - ### sub

    public ConfigMap sub(String prefix)
    Creates a sub map by a key prefix

         prefixkey1=value1
         prefixkey2=value2
         ->
         map
         key1=value1
         key2=value2

    Parameters:
      `prefix` - the key prefix for extraction
    Returns:
      not `null` config map

  - ### subSok

    public ConfigMap subSok(String... prefixes)
    Creates a sub map by key prefixes

         prefixkey1=value1
         prefixkey2=value2
         ->
         config map
         key1=value1
         key2=value2

    Parameters:
      `prefixes` - key prefixes for extraction, the first one is the actual, the rest are deprecated prefixes
    Returns:
      not `null` config map

  - ### subIndexed

    public SortedMap<Integer,ConfigMap> subIndexed(String prefix)
    Creates a sorted map of maps by a key prefix

         prefix1.12=2
         prefix1.34=4
         prefix2.56=2
         prefix2.78=4
         ->
         sorted Map
         1={12=2,34=4}
         2={56=2,78=4}

    Parameters:
      `prefix` - the key prefix for extraction
    Returns:
      not `null` map

  - ### subSokIndexed

    public SortedMap<Integer,ConfigMap> subSokIndexed(String... prefixes)
    Creates a sorted map of maps by key prefixes

         prefix1.12=2
         prefix1.34=4
         prefix2.56=2
         prefix2.78=4
         ->
         sorted Map
         1={12=2,34=4}
         2={56=2,78=4}

    Parameters:
      `prefixes` - key prefixes for extraction, the first one is the actual, the rest are deprecated prefixes
    Returns:
      not `null` map

  - ### subKeyed

    public Map<String,ConfigMap> subKeyed(String prefix)
    Creates a map of maps by a key prefix

         prefixa.12=2
         prefixa.34=4
         prefixb.56=u
         prefixb.kk=4
         ->
         unsorted map
         a={12=2,34=4}
         b={56=u,kk=4}

    Parameters:
      `prefix` - the key prefix for extraction
    Returns:
      not `null` map
    See Also:
      - `subIndexed(String)`

  - ### getConfig

    public final <K extends Config> K getConfig(Class<K> clazz)
    Creates if needed and gets pre parsed and cached configuration. Cache key - the class object of the configuration.
    Parameters:
      `clazz` - the configuration class.
    Returns:

  - ### getConfig

    public final Object getConfig(String className)
    Same with `getConfig(Class)`, but with string parameter for calling from scripts. The method is less recommended as `getConfig(Class)`, which is checked by compiler.
    Parameters:
      `className` - the full class name.
    Returns:

  - ### removeConfig

    public <K extends Config> void removeConfig(Class<K> clazz)
    Removes config from cache.
    Type Parameters:
      `K` -
    Parameters:
      `clazz` -

  - ### clearConfigs

    protected void clearConfigs()
    Clears all the parsed configurations from `configMap`.

  - ### validateConfig

    public final <K extends Config> void validateConfig(Class<K> clazz) throws BGMessageException
    Creates a configuration for validation purposes only..
    Parameters:
      `clazz` -
    Throws:
      `BGMessageException`

  - ### getDataString

    public String getDataString()
    Serializes the data to `key=value` string lines
    Returns:
      the string with pairs on lines