ConfigIncluder
trait ConfigIncluder
Implement this interface and provide an instance to
customize handling of include statements in config files. You may
also want to implement
[[ConfigParseOptions#setIncluder ConfigParseOptions.setIncluder()]]
tocustomize handling of include statements in config files. You may
also want to implement
[[ConfigIncluderClasspath]]
,[[ConfigIncluderFile]]
, and [[ConfigIncluderURL]]
, or not.Value members
Methods
Returns a new includer that falls back to the given includer. This is how
you can obtain the default includer; it will be provided as a fallback.
It's up to your includer to chain to it if you want to. You might want to
merge any files found by the fallback includer with any objects you load
yourself.
you can obtain the default includer; it will be provided as a fallback.
It's up to your includer to chain to it if you want to. You might want to
merge any files found by the fallback includer with any objects you load
yourself.
It's important to handle the case where you already have the fallback
with a "return this", i.e. this method should not create a new object if
the fallback is the same one you already have. The same fallback may be
added repeatedly.
with a "return this", i.e. this method should not create a new object if
the fallback is the same one you already have. The same fallback may be
added repeatedly.
- Value Params
- fallback
-
the previous includer for chaining
- Returns
-
a new includer
Parses another item to be included. The returned object typically would
not have substitutions resolved. You can throw a ConfigException here to
abort parsing, or return an empty object, but may not return null.
not have substitutions resolved. You can throw a ConfigException here to
abort parsing, or return an empty object, but may not return null.
This method is used for a "heuristic" include statement that does not
specify file, URL, or classpath resource. If the include statement does
specify, then the same class implementing
also implement
default includer will be used.
specify file, URL, or classpath resource. If the include statement does
specify, then the same class implementing
[[ConfigIncluder]]
mustalso implement
[[ConfigIncluderClasspath]]
,[[ConfigIncluderFile]]
, or [[ConfigIncluderURL]]
as needed, or adefault includer will be used.
- Value Params
- context
-
some info about the include context
- what
-
the include statement's argument
- Returns
-
a non-null ConfigObject