ConfigResolver

Translates the interim configuration model (usually obtained from a HOCON parser) into the final object model. It turns a root ObjectBuilderValue into a root ObjectValue.

The translation step involves the following steps:

  • Expand keys (e.g. { a.b.c = 7 } will become { a = { b = { c = 7 }}}

  • Merge objects with a common base path

  • Merge concatenated values (e.g. [1,2] [3,4] will become [1,2,3,4]

  • Resolve substitution variables (potentially using the provided fallback if not found in in the provided unresolved root)

  • Expand keys (e.g. { a.b.c = 7 } will become `{ a = { b = { c = 7 }}}

  • Merge objects with a common base path

  • Merge concatenated values (e.g. [1,2] [3,4] will become [1,2,3,4]

  • Resolve substitution variables (potentially using the provided fallback if not found in in the provided unresolved root)

class Object
trait Matchable
class Any

Value members

Concrete methods

Expands all flattened path expressions to nested objects.

Expands all flattened path expressions to nested objects.

{ a.b.c = 7 }

will become

{ a = { b = { c = 7 
}}}

Merges objects with a common base path into a single one.

Merges objects with a common base path into a single one.

a = { b = { c = 7 }}

a = { b = { d = 9 }}

will become

a = { b = { c = 7, d = 9 }}
def resolve(root: ObjectBuilderValue, origin: Origin, fallback: Config, includes: IncludeMap): Either[ConfigError, ObjectValue]

Translates the interim configuration model (usually obtained from a HOCON parser) into the final object model. It turns a root ObjectBuilderValue into a root ObjectValue.

Translates the interim configuration model (usually obtained from a HOCON parser) into the final object model. It turns a root ObjectBuilderValue into a root ObjectValue.

The translation step involves the following steps:

  • Expand keys (e.g. { a.b.c = 7 } will become { a = { b = { c = 7 }}}

  • Merge objects with a common base path

  • Merge concatenated values (e.g. [1,2] [3,4] will become [1,2,3,4]

  • Resolve substitution variables (potentially using the provided fallback if not found in in the provided unresolved root)

  • Expand keys (e.g. { a.b.c = 7 } will become `{ a = { b = { c = 7 }}}

  • Merge objects with a common base path

  • Merge concatenated values (e.g. [1,2] [3,4] will become [1,2,3,4]

  • Resolve substitution variables (potentially using the provided fallback if not found in in the provided unresolved root)