ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
java.lang.ऑब्जेक्ट | ||
मैं | com.android.tradefed.config.OptionSetter | |
मैं | com.android.tradefed.config.ArgsOptionParser |
पार्स किए गए कमांड लाइन तर्कों से Option
फ़ील्ड को पॉप्युलेट करता है।
Option
फ़ील्ड में मैप करना चाहिए। एक लंबा विकल्प Option
नाम के लिए मैप करता है, और एक छोटा विकल्प Option
संक्षिप्त नाम के लिए मैप करता है। प्रत्येक विकल्प नाम और विकल्प संक्षिप्त नाम एक ही ऑब्जेक्ट के भीतर अन्य सभी Option
फ़ील्ड के संबंध में अद्वितीय होना चाहिए। एक एकल विकल्प तर्क एकाधिक ऑब्जेक्ट में एक ही नाम के साथ एकाधिक Option
फ़ील्ड में मैप किया जा सकता है। Option
तर्कों को उस ऑब्जेक्ट के पूर्ण वर्ग नाम या उसके OptionClass
उपनाम मान को ':' से अलग करके किसी एकल ऑब्जेक्ट के भीतर एक Option
फ़ील्ड को विशिष्ट रूप से संदर्भित करने के लिए नामित किया जा सकता है। यानी --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.एक साधारण संक्षिप्त विकल्प एक "-" है जिसके बाद एक छोटा विकल्प वर्ण होता है। यदि विकल्प के लिए एक तर्क की आवश्यकता होती है (जो कि किसी भी गैर-बूलियन विकल्प के लिए सही है), तो इसे एक अलग पैरामीटर के रूप में लिखा जा सकता है, लेकिन इसकी आवश्यकता नहीं है। यानी "-f out.txt" और "-fout.txt" दोनों ही स्वीकार्य हैं। एक "-" के बाद कई छोटे विकल्पों को निर्दिष्ट करना संभव है, जब तक कि सभी (संभवतः अंतिम को छोड़कर) को तर्कों की आवश्यकता न हो। एक लंबा विकल्प "-" से शुरू होता है जिसके बाद कई वर्ण होते हैं। यदि विकल्प को तर्क की आवश्यकता होती है, तो इसे सीधे विकल्प नाम के बाद लिखा जा सकता है, जिसे "=" से अलग किया जाता है, या अगले तर्क के रूप में लिखा जा सकता है। (अर्थात, "--file=out.txt" या "--file out.txt"।) एक बूलियन लंबा विकल्प '--name' को स्वचालित रूप से एक '--no-name' साथी मिल जाता है। एक विकल्प "--flag" दिया गया है, फिर, "--flag", "--no-flag", "--flag=true" और "--flag=false" सभी मान्य हैं, हालांकि न तो "--flag" true" और न ही "--flag false" की अनुमति है (चूंकि "--flag" अपने आप में पर्याप्त है, निम्नलिखित "true" या "false" की अलग से व्याख्या की जाती है)। आप "हां" और "नहीं" का उपयोग "सत्य" और "झूठे" के पर्यायवाची के रूप में कर सकते हैं। प्रत्येक स्ट्रिंग जो "-" से शुरू नहीं होती है और पिछले विकल्प का आवश्यक तर्क नहीं है, एक गैर-विकल्प स्थितीय तर्क है, जैसा कि सभी लगातार स्ट्रिंग हैं। "-" के बाद प्रत्येक स्ट्रिंग एक गैर-विकल्प स्थितीय तर्क है। विकल्पों के अनुरूप फ़ील्ड अपडेट किए जाते हैं क्योंकि उनके विकल्प संसाधित होते हैं। किसी भी शेष स्थितीय तर्कों को एक सूची <स्ट्रिंग> के रूप में वापस कर दिया जाता है। यहाँ एक सरल उदाहरण है:
// Non-@Option fields will be ignored. class Options { @Option(name = "quiet", shortName = 'q') boolean quiet = false; // Here the user can use --no-color. @Option(name = "color") boolean color = true; @Option(name = "mode", shortName = 'm') String mode = "standard; // Supply a default just by setting the field. @Option(name = "port", shortName = 'p') int portNumber = 8888; // There's no need to offer a short name for rarely-used options. @Option(name = "timeout" ) double timeout = 1.0; @Option(name = "output-file", shortName = 'o' }) File output; // Multiple options are added to the collection. // The collection field itself must be non-null. @Option(name = "input-file", shortName = 'i') List<File> inputs = new ArrayList<File>(); } Options options = new Options(); List<String> posArgs = new OptionParser(options).parse("--input-file", "/tmp/file1.txt"); for (File inputFile : options.inputs) { if (!options.quiet) { ... } ... }यह भी देखें:
- गेटोप्ट(1) मैन पेज
- पायथन का "optparse" मॉड्यूल (http://docs.python.org/library/optparse.html)
- POSIX "उपयोगिता सिंटैक्स दिशानिर्देश" (http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap12.html#tag_12_02)
- GNU "कमांड लाइन इंटरफेस के लिए मानक" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
यह सभी देखें:
सारांश
सार्वजनिक निर्माणकर्ता | |
---|---|
ArgsOptionParser ( optionSources) ArgsOptionParser ( optionSources) वस्तुओं के संग्रह के लिए | |
ArgsOptionParser (Object... optionSources) एक या अधिक ऑब्जेक्ट के लिए |
सार्वजनिक तरीके | |
---|---|
getInopOptions () उन विकल्पों का सेट लौटाता है जिन्होंने कोई डिफ़ॉल्ट मान नहीं बदला है। | |
static String | getOptionHelp (boolean importantOnly, Object optionObject) सभी |
parse (String... args) कंस्ट्रक्टर को प्रदान किए गए 'विकल्प स्रोत' के @Option फ़ील्ड को सेट करते हुए, कमांड-लाइन तर्क 'args' को पार्स करता है। | |
parse ( args) parse ( args) वैकल्पिक | |
parseBestEffort ( args) parseBestEffort ( args) वैकल्पिक | |
parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue) वैकल्पिक | |
parseBestEffort (String... args) | |
void | validateMandatoryOptions () पुष्टि करता है कि अनिवार्य के रूप में चिह्नित सभी फ़ील्ड सेट कर दिए गए हैं। |
सार्वजनिक निर्माणकर्ता
ArgsOptionParser
public ArgsOptionParser (optionSources)
वस्तुओं के संग्रह के लिए ArgsOptionParser
बनाता है।
मापदंडों | |
---|---|
optionSources |
फेंकता | |
---|---|
ConfigurationException | यदि कॉन्फ़िग ऑब्जेक्ट अनुचित रूप से कॉन्फ़िगर किया गया है। |
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
एक या अधिक ऑब्जेक्ट के लिए ArgsOptionParser
बनाता है।
मापदंडों | |
---|---|
optionSources | Object : कॉन्फ़िग ऑब्जेक्ट्स। |
फेंकता | |
---|---|
ConfigurationException | यदि कॉन्फ़िग ऑब्जेक्ट अनुचित रूप से कॉन्फ़िगर किया गया है। |
सार्वजनिक तरीके
getInopOptions
publicgetInopOptions ()
उन विकल्पों का सेट लौटाता है जिन्होंने कोई डिफ़ॉल्ट मान नहीं बदला है।
रिटर्न | |
---|---|
getOptionसहायता
public static String getOptionHelp (boolean importantOnly, Object optionObject)
सभी Option
फ़ील्ड के लिए आउटपुट सहायता टेक्स्ट विकल्पवस्तु .
[-option_shortname, --option_name] [option_description] Default: [current option field's value in optionObject]यदि विकल्प फ़ील्ड रिक्त या रिक्त है तो 'डिफ़ॉल्ट...' टेक्स्ट छोड़ दिया जाएगा।
मापदंडों | |
---|---|
importantOnly | boolean : यदि true तो केवल महत्वपूर्ण विकल्पों के लिए सहायता प्रिंट करें |
optionObject | Object : प्रिंट करने के लिए ऑब्जेक्ट के लिए सहायता टेक्स्ट |
रिटर्न | |
---|---|
String | एक स्ट्रिंग जिसमें सभी विकल्प फ़ील्ड के लिए उपयोगकर्ता के अनुकूल मदद टेक्स्ट होता है |
पार्स
publicparse (String... args)
कंस्ट्रक्टर को प्रदान किए गए 'विकल्प स्रोत' के @Option फ़ील्ड को सेट करते हुए कमांड-लाइन तर्क 'आर्ग्स' को पार्स करता है।
मापदंडों | |
---|---|
args | String |
रिटर्न | |
---|---|
सभी विकल्पों को संसाधित करने के बाद छोड़े गए स्थितीय तर्कों का एक ERROR(/List) । |
फेंकता | |
---|---|
ConfigurationException | अगर तर्कों को पार्स करने में त्रुटि हुई। |
पार्स
publicparse ( args)
वैकल्पिक parse(String)
विधि जो तर्कों की ERROR(/List)
लेती है
मापदंडों | |
---|---|
args |
रिटर्न | |
---|---|
सभी विकल्पों को संसाधित करने के बाद छोड़े गए स्थितीय तर्कों का एक ERROR(/List) । |
फेंकता | |
---|---|
ConfigurationException | अगर तर्कों को पार्स करने में त्रुटि हुई। |
पार्सबेस्टएफ़र्ट
publicparseBestEffort ( args)
वैकल्पिक parseBestEffort(String)
विधि जो तर्कों की ERROR(/List)
लेती है
मापदंडों | |
---|---|
args |
रिटर्न | |
---|---|
बचे हुए तर्कों का एक ERROR(/List) |
पार्सबेस्टएफ़र्ट
publicparseBestEffort ( args, boolean forceContinue)
वैकल्पिक parseBestEffort(String)
विधि जो तर्कों की एक ERROR(/List)
लेती है, और अंत तक पार्सिंग जारी रखने के लिए मजबूर किया जा सकता है, भले ही कुछ तर्क पार्स न करें।
मापदंडों | |
---|---|
args | |
forceContinue | boolean : सच है अगर इसे पार्स करना जारी रखना चाहिए, भले ही कुछ तर्क पार्स न करें। |
रिटर्न | |
---|---|
बचे हुए तर्कों का एक ERROR(/List) |
पार्सबेस्टएफ़र्ट
publicparseBestEffort (String... args)
parse(String)
का सर्वोत्तम प्रयास संस्करण। यदि कॉन्फ़िगरेशन अपवाद फेंक दिया जाता है, तो वह अपवाद आंतरिक रूप से कब्जा कर लिया जाता है, और शेष तर्क (तर्क सहित जो अपवाद को फेंक दिया जाता है) वापस कर दिया जाता है। यह विधि फेंकती नहीं है।
मापदंडों | |
---|---|
args | String |
रिटर्न | |
---|---|
बचे हुए तर्कों का एक ERROR(/List) |
मान्यअनिवार्यविकल्प
public void validateMandatoryOptions ()
पुष्टि करता है कि अनिवार्य के रूप में चिह्नित सभी फ़ील्ड सेट कर दिए गए हैं।
फेंकता | |
---|---|
ConfigurationException |