@@ -114,8 +114,9 @@ suggested tools are:
114114
115115 - use the
116116 [ checkValid() method] ( http://typesafehub.github.com/config/latest/api/com/typesafe/config/Config.html#checkValid%28com.typesafe.config.Config,%20java.lang.String...%29 )
117- - access your config through a Settings class with a non-lazy
118- field for each setting, and instantiate it on startup
117+ - access your config through a Settings class with a field for
118+ each setting, and instantiate it on startup (immediately
119+ throwing an exception if any settings are missing)
119120
120121In Scala, a Settings class might look like:
121122
@@ -153,11 +154,17 @@ but you may not find it necessary to separate it from
153154` application.conf ` .)
154155
155156Libraries and frameworks should default to ` ConfigFactory.load() `
156- if the application does not provide a custom ` Config `
157- object. Libraries and frameworks should also allow the application
158- to provide a custom ` Config ` object to be used instead of the
157+ if the application does not provide a custom ` Config ` object. This
158+ way, libraries will see configuration from ` application.conf ` and
159+ users can configure the whole app, with its libraries, in a single
160+ ` application.conf ` file.
161+
162+ Libraries and frameworks should also allow the application to
163+ provide a custom ` Config ` object to be used instead of the
159164default, in case the application needs multiple configurations in
160- one JVM or wants to load extra config files from somewhere.
165+ one JVM or wants to load extra config files from somewhere. The
166+ library examples in ` examples/ ` show how to accept a custom config
167+ while defaulting to ` ConfigFactory.load() ` .
161168
162169For applications using ` application.{conf,json,properties} ` ,
163170system properties can be used to force a different config source:
@@ -234,7 +241,7 @@ For most apps, failure to have a setting is simply a bug to fix
234241setting is unset, by default the getters on the ` Config ` interface
235242throw an exception.
236243
237- If you WANT to allow a setting to be missing from
244+ If you * want * to allow a setting to be missing from
238245` application.conf ` then here are some options:
239246
240247 1 . Set it in a ` reference.conf ` included in your library or
@@ -576,3 +583,14 @@ Two alternatives to HOCON syntax could be:
576583 allow mixing true JSON files into the config but also support
577584 a nicer format.
578585
586+ ## Other APIs
587+
588+ This may not be comprehensive - if you'd like to add mention of
589+ your wrapper, just send a pull request for this README. We would
590+ love to know what you're doing with this library or with the HOCON
591+ format.
592+
593+ * Scala wrappers for the Java library
594+ * Ficus https://github.com/ceedubs/ficus
595+ * configz https://github.com/arosien/configz
596+ * configs https://github.com/kxbmap/configs
0 commit comments