ArgsOptionParser

public class ArgsOptionParser
extends OptionSetter

java.lang.ऑब्जेक्ट
मैं com.android.tradefed.config.OptionSetter
मैं com.android.tradefed.config.ArgsOptionParser


भरता Option पार्स आदेश पंक्ति तर्क से खेतों।

पास-इन String[] में स्ट्रिंग्स को बाएँ से दाएँ पार्स किया जाता है। प्रत्येक स्ट्रिंग को एक छोटे विकल्प (जैसे "-v"), एक लंबे विकल्प (जैसे "--verbose"), एक विकल्प के लिए एक तर्क (जैसे "-f out.txt" में "out.txt" के रूप में वर्गीकृत किया गया है। "), या एक गैर-विकल्प स्थितीय तर्क।

प्रत्येक विकल्प तर्क एक या अधिक करने के लिए नक्शे चाहिए 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 वस्तुओं का संग्रह करने के लिए।

ArgsOptionParser (Object... optionSources)

एक बनाता है ArgsOptionParser एक या अधिक ऑब्जेक्ट के लिए।

सार्वजनिक तरीके

getInopOptions ()

उन विकल्पों का सेट लौटाता है जिन्होंने कोई डिफ़ॉल्ट मान नहीं बदला है।

static String getOptionHelp (boolean importantOnly, Object optionObject)

सभी के लिए उत्पादन सहायता पाठ Option में फ़ील्ड्स विकल्पवस्तु .

parse (String... args)

कंस्ट्रक्टर को प्रदान किए गए 'विकल्प स्रोत' के @Option फ़ील्ड को सेट करते हुए, कमांड-लाइन तर्क 'args' को पार्स करता है।

parse ( args) parse ( args)

वैकल्पिक parse(String) विधि है कि एक लेता ERROR(/List) तर्कों की

parseBestEffort ( args) parseBestEffort ( args)

वैकल्पिक parseBestEffort(String) विधि है कि एक लेता ERROR(/List) तर्कों की

parseBestEffort ( args, boolean forceContinue) parseBestEffort ( args, boolean forceContinue)

वैकल्पिक parseBestEffort(String) विधि है कि एक लेता ERROR(/List) तर्कों की, और अंत तक पार्स करने, भले ही कुछ आर्ग पार्स नहीं है जारी रखने के लिए मजबूर किया जा सकता है।

parseBestEffort (String... args)

का एक सबसे अच्छा प्रयास संस्करण parse(String)

void validateMandatoryOptions ()

पुष्टि करता है कि अनिवार्य के रूप में चिह्नित सभी फ़ील्ड सेट कर दिए गए हैं।

सार्वजनिक निर्माणकर्ता

ArgsOptionParser

public ArgsOptionParser ( optionSources)

एक बनाता है ArgsOptionParser वस्तुओं का संग्रह करने के लिए।

मापदंडों
optionSources : कॉन्फ़िगरेशन ऑब्जेक्ट्स।

फेंकता
ConfigurationException यदि कॉन्फ़िग ऑब्जेक्ट अनुचित रूप से कॉन्फ़िगर किया गया है।

ArgsOptionParser

public ArgsOptionParser (Object... optionSources)

एक बनाता है ArgsOptionParser एक या अधिक ऑब्जेक्ट के लिए।

मापदंडों
optionSources Object : config वस्तुओं।

फेंकता
ConfigurationException यदि कॉन्फ़िग ऑब्जेक्ट अनुचित रूप से कॉन्फ़िगर किया गया है।

सार्वजनिक तरीके

getInopOptions

public  getInopOptions ()

उन विकल्पों का सेट लौटाता है जिन्होंने कोई डिफ़ॉल्ट मान नहीं बदला है।

रिटर्न

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 एक स्ट्रिंग जिसमें सभी विकल्प फ़ील्ड के लिए उपयोगकर्ता के अनुकूल मदद टेक्स्ट होता है

पार्स

public  parse (String... args)

कंस्ट्रक्टर को प्रदान किए गए 'विकल्प स्रोत' के @Option फ़ील्ड को सेट करते हुए, कमांड-लाइन तर्क 'args' को पार्स करता है।

मापदंडों
args String

रिटर्न
एक ERROR(/List) स्थितीय तर्कों के सभी विकल्पों को प्रसंस्करण के बाद बचे।

फेंकता
ConfigurationException अगर तर्कों को पार्स करने में त्रुटि हुई।

पार्स

public  parse ( args)

वैकल्पिक parse(String) विधि है कि एक लेता ERROR(/List) तर्कों की

मापदंडों
args

रिटर्न
एक ERROR(/List) स्थितीय तर्कों के सभी विकल्पों को प्रसंस्करण के बाद बचे।

फेंकता
ConfigurationException अगर तर्कों को पार्स करने में त्रुटि हुई।

पार्सबेस्टएफ़र्ट

public  parseBestEffort ( args)

वैकल्पिक parseBestEffort(String) विधि है कि एक लेता ERROR(/List) तर्कों की

मापदंडों
args

रिटर्न
एक ERROR(/List) बचे तर्कों की

पार्सबेस्टएफ़र्ट

public  parseBestEffort ( args, 
                boolean forceContinue)

वैकल्पिक parseBestEffort(String) विधि है कि एक लेता ERROR(/List) तर्कों की, और अंत तक पार्स करने, भले ही कुछ आर्ग पार्स नहीं है जारी रखने के लिए मजबूर किया जा सकता है।

मापदंडों
args : सूची जिसमें बचे हुए आर्ग होंगे।

forceContinue boolean : यह सच है अगर यह पार्स करने के लिए भले ही कुछ आर्ग पार्स नहीं है जारी रखना चाहिए।

रिटर्न
एक ERROR(/List) बचे तर्कों की

पार्सबेस्टएफ़र्ट

public  parseBestEffort (String... args)

का एक सबसे अच्छा प्रयास संस्करण parse(String) । यदि कॉन्फ़िगरेशन अपवाद फेंक दिया जाता है, तो वह अपवाद आंतरिक रूप से कब्जा कर लिया जाता है, और शेष तर्क (तर्क सहित जो अपवाद को फेंक दिया जाता है) वापस कर दिया जाता है। यह विधि फेंकती नहीं है।

मापदंडों
args String

रिटर्न
एक ERROR(/List) बचे तर्कों की

मान्यअनिवार्यविकल्प

public void validateMandatoryOptions ()

पुष्टि करता है कि अनिवार्य के रूप में चिह्नित सभी फ़ील्ड सेट कर दिए गए हैं।

फेंकता
ConfigurationException