Package: grails.config

## [Groovy] Interface ConfigMap

- API onto application configuration

  Authors:
    Graeme Rocher
  Since:
    3.0

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `java.lang.Object` | `at`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `java.lang.Object` | `getAt(java.lang.Object key)` Enables the object[foo] syntax
    `<T>` | `T` | `getProperty(java.lang.String key, java.lang.Class<T> targetType)` Return the property value associated with the given key, or `null` if the key cannot be resolved.
    `<T>` | `T` | `getProperty(java.lang.String key, java.lang.Class<T> targetType, T defaultValue)` Return the property value associated with the given key, or `null` if the key cannot be resolved.
    `<T>` | `T` | `getRequiredProperty(java.lang.String key, java.lang.Class<T> targetType)` Return the property value associated with the given key, converted to the given targetType (never `null`).
    `` | `java.lang.Object` | `navigate(java.lang.String... path)` Navigate the map for the given path
    `` | `void` | `setAt(java.lang.Object key, java.lang.Object value)` Enables the object[foo] = 'stuff' syntax

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `interface java.lang.Iterable` | `java.lang.Iterable#iterator(), java.lang.Iterable#spliterator(), java.lang.Iterable#forEach(java.util.function.Consumer)`
    `interface java.util.Map` | `java.util.Map#remove(java.lang.Object), java.util.Map#remove(java.lang.Object, java.lang.Object), java.util.Map#get(java.lang.Object), java.util.Map#put(java.lang.Object, java.lang.Object), java.util.Map#equals(java.lang.Object), java.util.Map#values(), java.util.Map#hashCode(), java.util.Map#clear(), java.util.Map#isEmpty(), java.util.Map#replace(java.lang.Object, java.lang.Object), java.util.Map#replace(java.lang.Object, java.lang.Object, java.lang.Object), java.util.Map#replaceAll(java.util.function.BiFunction), java.util.Map#size(), java.util.Map#entrySet(), java.util.Map#putAll(java.util.Map), java.util.Map#putIfAbsent(java.lang.Object, java.lang.Object), java.util.Map#forEach(java.util.function.BiConsumer), java.util.Map#keySet(), java.util.Map#containsValue(java.lang.Object), java.util.Map#containsKey(java.lang.Object), java.util.Map#getOrDefault(java.lang.Object, java.lang.Object), java.util.Map#computeIfAbsent(java.lang.Object, java.util.function.Function), java.util.Map#computeIfPresent(java.lang.Object, java.util.function.BiFunction), java.util.Map#compute(java.lang.Object, java.util.function.BiFunction), java.util.Map#merge(java.lang.Object, java.lang.Object, java.util.function.BiFunction)`

- - ### Property Detail

    - #### java.lang.Object at

  - ### Method Detail

    - #### java.lang.Object getAt(java.lang.Object key)

      Enables the object[foo] syntax

      Parameters:
        `key` - The key
      Returns:
        The value or null

    - #### <T> T getProperty(java.lang.String key, java.lang.Class<T> targetType)

      Return the property value associated with the given key, or `null` if the key cannot be resolved.

      Parameters:
        `key` - the property name to resolve
        `targetType` - the expected type of the property value
      See Also:
        getRequiredProperty(String, Class)

    - #### <T> T getProperty(java.lang.String key, java.lang.Class<T> targetType, T defaultValue)

      Return the property value associated with the given key, or `null` if the key cannot be resolved.

      Parameters:
        `key` - the property name to resolve
        `targetType` - the expected type of the property value
      See Also:
        getRequiredProperty(String, Class)

    - #### <T> T getRequiredProperty(java.lang.String key, java.lang.Class<T> targetType)

      Return the property value associated with the given key, converted to the given targetType (never `null`).

      throws:
        IllegalStateException if the given key cannot be resolved

    - #### java.lang.Object navigate(java.lang.String... path)

      Navigate the map for the given path

      Parameters:
        `path` - The path
      Returns:

    - #### void setAt(java.lang.Object key, java.lang.Object value)

      Enables the object[foo] = 'stuff' syntax

      Parameters:
        `key` - The key
        `value` - The value