Skip to content

Commit e6c7e6b

Browse files
committed
Some other README edits and updates
1 parent bc7e0cf commit e6c7e6b

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

README.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

120121
In 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

155156
Libraries 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
159164
default, 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

162169
For applications using `application.{conf,json,properties}`,
163170
system 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
234241
setting is unset, by default the getters on the `Config` interface
235242
throw 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

Comments
 (0)