package main.options.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Marks an option field as configurable.
*
* @author Maxime PIA
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface CommandLineArgument {
/**
* The command line used to set the value of the member.
*/
String command();
/**
* A description of the effects and use of the member.
*/
String description();
/**
* A description of how this command is used.
*/
String usage() default "";
/**
* An example of how this command is used.
*/
String usageExample() default "";
/**
* True of the members represents flags.
*/
boolean flags() default false;
}