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; }