• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright (C) 2010 the original author or authors.
3  * See the notice.md file distributed with this work for additional
4  * information regarding copyright ownership.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 package com.beust.jcommander;
20 
21 import java.lang.annotation.Inherited;
22 import java.lang.annotation.Retention;
23 import java.lang.annotation.Target;
24 
25 import static java.lang.annotation.ElementType.TYPE;
26 
27 /**
28  * An annotation used to specify settings for parameter parsing.
29  *
30  * @author cbeust
31  */
32 @Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
33 @Target({ TYPE })
34 @Inherited
35 public @interface Parameters {
36 
37   public static final String DEFAULT_OPTION_PREFIXES = "-";
38 
39   /**
40    * The name of the resource bundle to use for this class.
41    */
resourceBundle()42   String resourceBundle() default "";
43 
44   /**
45    * The character(s) that separate options.
46    */
separators()47   String separators() default " ";
48 
49   /**
50    * What characters an option starts with.
51    */
optionPrefixes()52   String optionPrefixes() default DEFAULT_OPTION_PREFIXES;
53 
54   /**
55    * If the annotated class was added to {@link JCommander} as a command with
56    * {@link JCommander#addCommand}, then this string will be displayed in the
57    * description when @{link JCommander#usage} is invoked.
58    */
commandDescription()59   String commandDescription() default "";
60 
61   /**
62    * @return the key used to find the command description in the resource bundle.
63    */
commandDescriptionKey()64   String commandDescriptionKey() default "";
65 
66   /**
67    * An array of allowed command names.
68    */
commandNames()69   String[] commandNames() default {};
70 
71   /**
72    * If true, this command won't appear in the usage().
73    */
hidden()74   boolean hidden() default false;
75 }
76