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:
parent
0d19dc236e
commit
34bc7601ee
@ -6,6 +6,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@FunctionalInterface
|
@FunctionalInterface
|
||||||
public interface ConfigValueParser<T, R> {
|
public interface ConfigValueParser<T, R> {
|
||||||
@ -69,6 +70,8 @@ public interface ConfigValueParser<T, R> {
|
|||||||
} else if (Enum.class.isAssignableFrom(valueClass) && input instanceof String) {
|
} else if (Enum.class.isAssignableFrom(valueClass) && input instanceof String) {
|
||||||
String enumName = (String) input;
|
String enumName = (String) input;
|
||||||
input = valueClass.getDeclaredMethod("valueOf", String.class).invoke(null, enumName);
|
input = valueClass.getDeclaredMethod("valueOf", String.class).invoke(null, enumName);
|
||||||
|
} else if (UUID.class.isAssignableFrom(valueClass) && input instanceof String) {
|
||||||
|
input = UUID.fromString((String) input);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (valueClass.isInstance(input)) return valueClass.cast(input);
|
if (valueClass.isInstance(input)) return valueClass.cast(input);
|
||||||
|
18
impl/yaml/src/test/java/sample/Sample.java
Normal file
18
impl/yaml/src/test/java/sample/Sample.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package sample;
|
||||||
|
|
||||||
|
import cc.carm.lib.configuration.EasyConfiguration;
|
||||||
|
import cc.carm.lib.configuration.core.source.ConfigurationProvider;
|
||||||
|
|
||||||
|
public class Sample {
|
||||||
|
|
||||||
|
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.INFO.NAME.getNotNull() + " !");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,18 +1,16 @@
|
|||||||
package config;
|
package sample;
|
||||||
|
|
||||||
import cc.carm.lib.configuration.EasyConfiguration;
|
|
||||||
import cc.carm.lib.configuration.core.Configuration;
|
import cc.carm.lib.configuration.core.Configuration;
|
||||||
import cc.carm.lib.configuration.core.annotation.ConfigPath;
|
import cc.carm.lib.configuration.core.annotation.ConfigPath;
|
||||||
import cc.carm.lib.configuration.core.annotation.HeaderComment;
|
import cc.carm.lib.configuration.core.annotation.HeaderComment;
|
||||||
import cc.carm.lib.configuration.core.annotation.InlineComment;
|
import cc.carm.lib.configuration.core.annotation.InlineComment;
|
||||||
import cc.carm.lib.configuration.core.source.ConfigurationProvider;
|
|
||||||
import cc.carm.lib.configuration.core.value.type.ConfiguredList;
|
import cc.carm.lib.configuration.core.value.type.ConfiguredList;
|
||||||
import cc.carm.lib.configuration.core.value.type.ConfiguredValue;
|
import cc.carm.lib.configuration.core.value.type.ConfiguredValue;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@HeaderComment("Configurations for sample")
|
@HeaderComment("Configurations for sample")
|
||||||
interface SampleConfig extends Configuration {
|
public interface SampleConfig extends Configuration {
|
||||||
|
|
||||||
@InlineComment("Enabled?") // Inline comment
|
@InlineComment("Enabled?") // Inline comment
|
||||||
ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
|
ConfiguredValue<Boolean> ENABLED = ConfiguredValue.of(true);
|
||||||
@ -25,25 +23,12 @@ interface SampleConfig extends Configuration {
|
|||||||
).build();
|
).build();
|
||||||
|
|
||||||
interface INFO extends Configuration {
|
interface INFO extends Configuration {
|
||||||
|
|
||||||
@HeaderComment("Configure your name!") // Header comment
|
@HeaderComment("Configure your name!") // Header comment
|
||||||
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
|
ConfiguredValue<String> NAME = ConfiguredValue.of("Joker");
|
||||||
|
|
||||||
@ConfigPath("year") // Custom path
|
@ConfigPath("year") // Custom path
|
||||||
ConfiguredValue<Integer> AGE = ConfiguredValue.of(24);
|
ConfiguredValue<Integer> AGE = ConfiguredValue.of(24);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public class Sample {
|
|
||||||
|
|
||||||
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.INFO.NAME.getNotNull() + " !");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user