The Configuration Foundation (Confound) library provides a lightweight yet powerful model for accessing various types of application configuration facilities via Csar.

More complex configuration may be using Confound.setDefaultConfigurationConcern(ConfigurationConcern) with the concern of choice, as in the following example:

Confound.setDefaultConfigurationConcern(new MyConfigurationConcern());

Quick Start

This initial release of Confound only supports system variables and environment variables.

An application can easily integrate Confound configuration support with just a few steps:

  1. Include the dependency io.confound:confound:x.x.x.
  2. Pass configuration information to the application using an environment variable such as FOO_BAR or a system property such as
  3. Call Confound.getConfiguration().getXXX("") to retrieve the type of parameter you desire. This will retrieve the system property or, if not present, the environment variable FOO_BAR, using the appropriate case automatically.

Note: Confounded also provides a mixin interface Confounded that allows an instance of MyClass to call getConfiguration().getXXX("").

Other Confound implementations in addition to system and environment variables will be available in the future.


Confound is available in the Maven Central Repository in group io.confoud.


Issues tracked by JIRA.


  • 0.5.0: First release.