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 /** 38 * The name of the resource bundle to use for this class. 39 */ resourceBundle()40 String resourceBundle() default ""; 41 42 /** 43 * The character(s) that separate options. 44 */ separators()45 String separators() default " "; 46 47 /** 48 * If the annotated class was added to {@link JCommander} as a command with 49 * {@link JCommander#addCommand}, then this string will be displayed in the 50 * description when @{link JCommander#usage} is invoked. 51 */ commandDescription()52 String commandDescription() default ""; 53 54 /** 55 * @return the key used to find the command description in the resource bundle. 56 */ commandDescriptionKey()57 String commandDescriptionKey() default ""; 58 59 /** 60 * An array of allowed command names. 61 */ commandNames()62 String[] commandNames() default {}; 63 64 /** 65 * If true, this command won't appear in the usage(). 66 */ hidden()67 boolean hidden() default false; 68 } 69