<commit_before># Typesafe Config Guice
Allows [Guice](https://github.com/google/guice) to @Inject configuration values into your application derived from [Typesafe Config](https://github.com/typesafehub/config).

[![Build Status](https://travis-ci.org/racc/typesafeconfig-guice.svg?branch=master)](https://travis-ci.org/racc/typesafeconfig-guice)

Available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22typesafeconfig-guice%22).
 
```xml
<dependency>
    <groupId>com.github.racc</groupId>
    <artifactId>typesafeconfig-guice</artifactId>
    <version>0.0.2</version>
</dependency>
```

### Quickstart
#### Step 1:
Annotate configuration injection points (Constructors, Providers, Provider methods, Setter methods, Fields) with ```@TypesafeConfig("config.path.key")```

#### Step 2:
Bootstrap your application with Guice and the TypesafeConfigModule.
Configuration values annotated with @TypesafeConfig will be scanned for on the classpath, and then bound from your supplied Typesafe Config file.
```java
Config config = ConfigFactory.load("config.conf");
Injector injector = Guice.createInjector(
	TypesafeConfigModule.fromConfig(testConf)
	// ... Add your other modules here
);
```

#### Step 3:
Profit!

### Features
- Plain Old Java Objects which follow JavaBean conventions (zero-args constructor, getters and setters) can be injected. 
- Supports injections of `java.time.Duration` objects with config parameters defined as "10 seconds", "10 minutes" etc.
- Supports injections of `com.typesafe.config.ConfigMemorySize` objects with config parameters defined as "512k" or "2M" etc.
- Supports injections of `boolean`, where the matching config parameter can be "true", "false", "yes" or "no".
- Supports injections of List types of primitives: `boolean`, `int`, `double`, `long`, `string`, `java.time.Duration`, `com.typesafe.config.ConfigMemorySize`
- Supports injections of `java.util.Map<String, Object>`<commit_msg>Bump version<commit_after># Typesafe Config Guice
Allows [Guice](https://github.com/google/guice) to @Inject configuration values into your application derived from [Typesafe Config](https://github.com/typesafehub/config).

[![Build Status](https://travis-ci.org/racc/typesafeconfig-guice.svg?branch=master)](https://travis-ci.org/racc/typesafeconfig-guice)

Available on [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22typesafeconfig-guice%22).
 
```xml
<dependency>
    <groupId>com.github.racc</groupId>
    <artifactId>typesafeconfig-guice</artifactId>
    <version>0.0.3</version>
</dependency>
```

### Quickstart
#### Step 1:
Annotate configuration injection points (Constructors, Providers, Provider methods, Setter methods, Fields) with ```@TypesafeConfig("config.path.key")```

#### Step 2:
Bootstrap your application with Guice and the TypesafeConfigModule.
Configuration values annotated with @TypesafeConfig will be scanned for on the classpath, and then bound from your supplied Typesafe Config file.
```java
Config config = ConfigFactory.load("config.conf");
Injector injector = Guice.createInjector(
	TypesafeConfigModule.fromConfig(testConf)
	// ... Add your other modules here
);
```

#### Step 3:
Profit!

### Features
- Plain Old Java Objects which follow JavaBean conventions (zero-args constructor, getters and setters) can be injected. 
- Supports injections of `java.time.Duration` objects with config parameters defined as "10 seconds", "10 minutes" etc.
- Supports injections of `com.typesafe.config.ConfigMemorySize` objects with config parameters defined as "512k" or "2M" etc.
- Supports injections of `boolean`, where the matching config parameter can be "true", "false", "yes" or "no".
- Supports injections of List types of primitives: `boolean`, `int`, `double`, `long`, `string`, `java.time.Duration`, `com.typesafe.config.ConfigMemorySize`
- Supports injections of `java.util.Map<String, Object>`
{'fraction_non_alphanumeric': 0.13028981790202615, 'fraction_numerical': 0.011797896896640164, 'mean_word_length': 5.678082191780822, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2692450', 'n_tokens_mistral': 1231, 'n_tokens_neox': 1130, 'n_words': 346}