Config

Features

Config is a useful extension for properties files. It’s main features are:

  • Using a set of standard converters
  • Specifying default value for a property
  • Saving all properties that were used into a file

Example

Note: To run the example, you need to clone ActiveJ from GitHub:
$ git clone https://github.com/activej/activej
And import it as a Maven project. Check out branch master. Before running the example, build the project.
These examples are located at activej -> examples -> core -> boot

An example of providing configs to your application with Config:

public final class ConfigModuleExample {
	private static final String PROPERTIES_FILE = "example.properties";

	public static void main(String[] args) {
		Injector injector = Injector.of(ModuleBuilder.create()
				.bind(Config.class).to(() -> Config.ofClassPathProperties(PROPERTIES_FILE))
				.bind(String.class).to(c -> c.get("phrase"), Config.class)
				.bind(Integer.class).to(c -> c.get(ofInteger(), "number"), Config.class)
				.bind(InetAddress.class).to(c -> c.get(ofInetAddress(), "address"), Config.class)
				.build());

		System.out.println(injector.getInstance(String.class));
		System.out.println(injector.getInstance(Integer.class));
		System.out.println(injector.getInstance(InetAddress.class));
	}
}