1 package com.lexicalscope.jewel.cli;
2
3 import java.lang.annotation.ElementType;
4 import java.lang.annotation.Retention;
5 import java.lang.annotation.RetentionPolicy;
6 import java.lang.annotation.Target;
7
8 /**
9 * Associates properties with a Command Line Interface
10 *
11 * @author Tim Wood
12 */
13 @Retention(RetentionPolicy.RUNTIME)
14 @Target(ElementType.TYPE)
15 public @interface CommandLineInterface
16 {
17 /**
18 * The name of the application that this is the interface for
19 *
20 * @return The name of the application that this is the interface for
21 */
22 String application() default "";
23
24 /**
25 * @return what order should the options be displayed in?
26 */
27 OptionOrder order() default OptionOrder.LEXICOGRAPHIC;
28 }