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