diff --git a/README.md b/README.md index 6f2dd21..1f0ac84 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,30 @@ Check out some code demonstrations [HERE](demo/src/main/java/cc/carm/lib/configu For more examples, see the [Development Guide](.doc/README.md). +```java +public class Sample { + + @HeaderComment("Configurations for sample") + interface SampleConfig extends Configuration { + @HeaderComment("Configure your name!") // Header comment + ConfiguredValue NAME = ConfiguredValue.of("Joker"); + @InlineComment("Enabled?") // Inline comment + ConfiguredValue ENABLED = ConfiguredValue.of(true); + } + + public static void main(String[] args) { + // 1. Make a configuration provider from a file. + ConfigurationProvider provider = EasyConfiguration.from("config.yml"); + // 2. Initialize the configuration classes or instances. + provider.initialize(SampleConfig.class); + // 3. Enjoy using the configuration! + SampleConfig.ENABLED.set(false); + System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); + } + +} +``` + ### Dependencies #### Maven Dependency diff --git a/README_CN.md b/README_CN.md index b314698..2c5ecac 100644 --- a/README_CN.md +++ b/README_CN.md @@ -36,7 +36,31 @@ README LANGUAGES [ [English](README.md) | [**中文**](README_CN.md) ] ### 示例代码 -您可以 [点击这里](demo/src/main/java/cc/carm/lib/configuration/demo/DatabaseConfiguration.java) 查看部分代码演示,更多演示详见 [开发介绍](.doc/README.md) 。 +您可以 [点击这里](demo/src/main/java/cc/carm/lib/configuration/demo/DatabaseConfiguration.java) 查看部分代码演示,更多复杂情况演示详见 [开发介绍](.doc/README.md) 。 + +```java +public class Sample { + + @HeaderComment("Configurations for sample") + interface SampleConfig extends Configuration { + @HeaderComment("Configure your name!") // 头部注释 + ConfiguredValue NAME = ConfiguredValue.of("Joker"); + @InlineComment("Enabled?") // 行内注释 + ConfiguredValue ENABLED = ConfiguredValue.of(true); + } + + public static void main(String[] args) { + // 1. 生成一个 “Provider” 用于给配置类提供源配置的文件。 + ConfigurationProvider provider = EasyConfiguration.from("config.yml"); + // 2. 通过 “Provider” 初始化配置类或配置实例。 + provider.initialize(SampleConfig.class); + // 3. 现在可以享受快捷方便的配置文件使用方式了~ + SampleConfig.ENABLED.set(false); + System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); + } + +} +``` ### 依赖方式 diff --git a/impl/yaml/src/test/java/config/Sample.java b/impl/yaml/src/test/java/config/Sample.java new file mode 100644 index 0000000..08a0b28 --- /dev/null +++ b/impl/yaml/src/test/java/config/Sample.java @@ -0,0 +1,30 @@ +package config; + +import cc.carm.lib.configuration.EasyConfiguration; +import cc.carm.lib.configuration.core.Configuration; +import cc.carm.lib.configuration.core.annotation.HeaderComment; +import cc.carm.lib.configuration.core.annotation.InlineComment; +import cc.carm.lib.configuration.core.source.ConfigurationProvider; +import cc.carm.lib.configuration.core.value.type.ConfiguredValue; + +public class Sample { + + @HeaderComment("Configurations for sample") + interface SampleConfig extends Configuration { + @HeaderComment("Configure your name!") // Header comment + ConfiguredValue NAME = ConfiguredValue.of("Joker"); + @InlineComment("Enabled?") // Inline comment + ConfiguredValue ENABLED = ConfiguredValue.of(true); + } + + public static void main(String[] args) { + // 1. Make a configuration provider from a file. + ConfigurationProvider provider = EasyConfiguration.from("config.yml"); + // 2. Initialize the configuration classes or instances. + provider.initialize(SampleConfig.class); + // 3. Enjoy using the configuration! + SampleConfig.ENABLED.set(false); + System.out.println("Your name is " + SampleConfig.NAME.getNotNull() + " !"); + } + +}