diff options
Diffstat (limited to 'src/main/java/com/beust/jcommander/DynamicParameter.java')
-rw-r--r-- | src/main/java/com/beust/jcommander/DynamicParameter.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/main/java/com/beust/jcommander/DynamicParameter.java b/src/main/java/com/beust/jcommander/DynamicParameter.java new file mode 100644 index 0000000..2159c1f --- /dev/null +++ b/src/main/java/com/beust/jcommander/DynamicParameter.java @@ -0,0 +1,50 @@ +package com.beust.jcommander; + +import static java.lang.annotation.ElementType.FIELD; + +import com.beust.jcommander.validators.NoValidator; +import com.beust.jcommander.validators.NoValueValidator; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +@Retention(java.lang.annotation.RetentionPolicy.RUNTIME) +@Target({ FIELD }) +public @interface DynamicParameter { + /** + * An array of allowed command line parameters (e.g. "-D", "--define", etc...). + */ + String[] names() default {}; + + /** + * Whether this option is required. + */ + boolean required() default false; + + /** + * A description of this option. + */ + String description() default ""; + + /** + * The key used to find the string in the message bundle. + */ + String descriptionKey() default ""; + + /** + * If true, this parameter won't appear in the usage(). + */ + boolean hidden() default false; + + /** + * The validation class to use. + */ + Class<? extends IParameterValidator> validateWith() default NoValidator.class; + + /** + * The character(s) used to assign the values. + */ + String assignment() default "="; + + Class<? extends IValueValidator> validateValueWith() default NoValueValidator.class; +} |