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
तर्क विशिष्ट एक का उल्लेख करने के namespaced किया जा सकता है Option
एक वस्तु है कि वस्तु का पूरा वर्ग के नाम या उसके उपयोग करते हुए भीतर क्षेत्र OptionClass
उर्फ मूल्य से अलग कर दिया ':'। यानी --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) { ... } ... }इन्हें भी देखें:
- getopt(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 : config वस्तुओं। |
फेंकता | |
---|---|
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' को पार्स करता है।
मापदंडों | |
---|---|
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 |