संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

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 तर्कों को उस ऑब्जेक्ट के पूर्ण वर्ग नाम या उसके 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 बनाता है।

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 : कॉन्फ़िग ऑब्जेक्ट्स।

फेंकता
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 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