diff options
author | Dico200 <dico.karssiens@gmail.com> | 2018-07-25 01:53:23 +0100 |
---|---|---|
committer | Dico200 <dico.karssiens@gmail.com> | 2018-07-25 01:53:23 +0100 |
commit | 44587e49ff1840219d9bc44844d4a3a6cd8ac5de (patch) | |
tree | 276ae9625795e9d79fc7db8592dbcb3a1af60928 /dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java | |
parent | 5e168847c2624b767deb9da310ecfdf169e0f43c (diff) |
Add dicore3-command
Diffstat (limited to 'dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java')
-rw-r--r-- | dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java b/dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java new file mode 100644 index 0000000..467ba4b --- /dev/null +++ b/dicore3/command/src/main/java/io/dico/dicore/command/annotation/BigRange.java @@ -0,0 +1,52 @@ +package io.dico.dicore.command.annotation; + +import io.dico.dicore.command.parameter.type.ParameterConfig; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.PARAMETER) +public @interface BigRange { + Class<?> MEMORY_CLASS = Memory.class; + ParameterConfig<BigRange, Memory> CONFIG = ParameterConfig.getMemoryClassFromField(BigRange.class); + Memory DEFAULT = new Memory("MIN", "MAX", "0"); + + String min() default "MIN"; + + String max() default "MAX"; + + String defaultValue() default "0"; + + class Memory { + private final String min; + private final String max; + private final String defaultValue; + + public Memory(BigRange range) { + this(range.min(), range.max(), range.defaultValue()); + } + + public Memory(String min, String max, String defaultValue) { + this.min = min; + this.max = max; + this.defaultValue = defaultValue; + } + + public String min() { + return min; + } + + public String max() { + return max; + } + + public String defaultValue() { + return defaultValue; + } + + } + +} |