1
mirror of https://github.com/CarmJos/EasyConfiguration.git synced 2024-09-19 20:25:51 +00:00

docs(sample): Add sample codes. 🥚

This commit is contained in:
Carm Jos 2024-01-03 23:24:59 +08:00
parent 814dae2278
commit e42de0eee7
3 changed files with 67 additions and 21 deletions

View File

@ -51,25 +51,45 @@ For more examples, see the [Development Guide](.doc/README.md).
```java ```java
public class Sample { public class Sample {
@HeaderComment("Configurations for sample") @HeaderComment("Configurations for sample")
interface SampleConfig extends Configuration { interface SampleConfig extends Configuration {
@HeaderComment("Configure your name!") // Header comment
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker"); @InlineComment("Enabled?") // Inline comment
@InlineComment("Enabled?") // Inline comment ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
interface INFO extends Configuration {
@HeaderComment("Configure your name!") // Header comment
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
ConfiguredValue<Integer> AGE = ConfiguredValue.of(24);
} }
public static void main(String[] args) { }
// 1. Make a configuration provider from a file.
ConfigurationProvider<?> provider = EasyConfiguration.from("config.yml"); public static void main(String[] args) {
// 2. Initialize the configuration classes or instances. // 1. Make a configuration provider from a file.
provider.initialize(SampleConfig.class); ConfigurationProvider<?> provider = EasyConfiguration.from("config.yml");
// 3. Enjoy using the configuration! // 2. Initialize the configuration classes or instances.
SampleConfig.ENABLED.set(false); provider.initialize(SampleConfig.class);
System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); // 3. Enjoy using the configuration!
} SampleConfig.ENABLED.set(false);
System.out.println("Your name is " + SampleConfig.INFO.NAME.getNotNull() + " !");
}
} }
```
```yaml
# Configurations for sample
# Enabled?
enabled: true
info:
# Configure your name!
name: Joker
age: 24
``` ```
### Dependencies ### Dependencies

View File

@ -47,10 +47,17 @@ public class Sample {
@HeaderComment("Configurations for sample") @HeaderComment("Configurations for sample")
interface SampleConfig extends Configuration { interface SampleConfig extends Configuration {
@HeaderComment("Configure your name!") // 头部注释
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
@InlineComment("Enabled?") // 行内注释 @InlineComment("Enabled?") // 行内注释
ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true); ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
interface INFO extends Configuration {
@HeaderComment("Configure your name!") // 头部注释
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
ConfiguredValue<Integer> AGE = ConfiguredValue.of(24);
}
} }
public static void main(String[] args) { public static void main(String[] args) {
@ -60,12 +67,24 @@ public class Sample {
provider.initialize(SampleConfig.class); provider.initialize(SampleConfig.class);
// 3. 现在可以享受快捷方便的配置文件使用方式了~ // 3. 现在可以享受快捷方便的配置文件使用方式了~
SampleConfig.ENABLED.set(false); SampleConfig.ENABLED.set(false);
System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); System.out.println("Your name is " + SampleConfig.INFO.NAME.getNotNull() + " !");
} }
} }
``` ```
```yaml
# Configurations for sample
# Enabled?
enabled: true
info:
# Configure your name!
name: Joker
age: 24
```
### 依赖方式 ### 依赖方式
#### Maven 依赖 #### Maven 依赖

View File

@ -11,10 +11,17 @@ public class Sample {
@HeaderComment("Configurations for sample") @HeaderComment("Configurations for sample")
interface SampleConfig extends Configuration { interface SampleConfig extends Configuration {
@HeaderComment("Configure your name!") // Header comment
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
@InlineComment("Enabled?") // Inline comment @InlineComment("Enabled?") // Inline comment
ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true); ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
interface INFO extends Configuration {
@HeaderComment("Configure your name!") // Header comment
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
ConfiguredValue<Integer> AGE = ConfiguredValue.of(24);
}
} }
public static void main(String[] args) { public static void main(String[] args) {
@ -24,7 +31,7 @@ public class Sample {
provider.initialize(SampleConfig.class); provider.initialize(SampleConfig.class);
// 3. Enjoy using the configuration! // 3. Enjoy using the configuration!
SampleConfig.ENABLED.set(false); SampleConfig.ENABLED.set(false);
System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); System.out.println("Your name is " + SampleConfig.INFO.NAME.getNotNull() + " !");
} }
} }