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
আর্গুমেন্টগুলি একটি একক অবজেক্টের মধ্যে একটি Option
ফিল্ডকে অনন্যভাবে উল্লেখ করার জন্য নামস্থানে রাখা যেতে পারে সেই অবজেক্টের পূর্ণ শ্রেণীর নাম ব্যবহার করে বা এর OptionClass
উপনাম মান ':' দ্বারা পৃথক করা। অর্থাৎ --classname:optionname optionvalue or --optionclassalias:optionname optionvalue.একটি সহজ সংক্ষিপ্ত বিকল্প হল একটি "-" এর পরে একটি ছোট বিকল্প অক্ষর। যদি বিকল্পটির জন্য একটি আর্গুমেন্টের প্রয়োজন হয় (যেটি যেকোন নন-বুলিয়ান বিকল্পের ক্ষেত্রে সত্য), এটি একটি পৃথক প্যারামিটার হিসাবে লেখা হতে পারে, তবে এটির প্রয়োজন নেই। অর্থাৎ, "-f out.txt" এবং "-fout.txt" উভয়ই গ্রহণযোগ্য। একটি একক "-" এর পরে একাধিক সংক্ষিপ্ত বিকল্প নির্দিষ্ট করা সম্ভব যতক্ষণ পর্যন্ত সমস্ত (সম্ভবত শেষটি ছাড়া) আর্গুমেন্টের প্রয়োজন না হয়। একটি দীর্ঘ বিকল্প "--" দিয়ে শুরু হয় এবং তারপরে কয়েকটি অক্ষর থাকে। যদি বিকল্পটির জন্য একটি আর্গুমেন্টের প্রয়োজন হয়, তাহলে এটি সরাসরি বিকল্পের নামের পরে লেখা হতে পারে, "=" দ্বারা পৃথক করা, বা পরবর্তী যুক্তি হিসাবে। (অর্থাৎ, "--file=out.txt" বা "--file out.txt"।) একটি বুলিয়ান দীর্ঘ বিকল্প '--নাম' স্বয়ংক্রিয়ভাবে একটি '--না-নাম' সহচর পায়। একটি বিকল্প "--পতাকা" দেওয়া হয়েছে, তারপর, "--পতাকা", "-না-পতাকা", "--পতাকা=সত্য" এবং "--পতাকা= মিথ্যা" সবই বৈধ, যদিও "--পতাকা" নয় সত্য" বা "--পতাকা মিথ্যা" অনুমোদিত নয় (যেহেতু "--পতাকা" নিজেই যথেষ্ট, নিম্নলিখিত "সত্য" বা "মিথ্যা" আলাদাভাবে ব্যাখ্যা করা হয়েছে)। আপনি "সত্য" এবং "মিথ্যা" এর প্রতিশব্দ হিসাবে "হ্যাঁ" এবং "না" ব্যবহার করতে পারেন। প্রতিটি স্ট্রিং একটি "-" দিয়ে শুরু হয় না এবং একটি পূর্ববর্তী বিকল্পের প্রয়োজনীয় যুক্তি নয় একটি বিকল্প অবস্থানগত যুক্তি, যেমনটি সমস্ত ধারাবাহিক স্ট্রিং। একটি "--" এর পরে প্রতিটি স্ট্রিং হল একটি বিকল্পহীন অবস্থানগত যুক্তি। বিকল্পগুলির সাথে সম্পর্কিত ক্ষেত্রগুলি আপডেট করা হয় যেহেতু তাদের বিকল্পগুলি প্রক্রিয়া করা হয়৷ যেকোন অবশিষ্ট অবস্থানগত আর্গুমেন্ট একটি List<String> হিসাবে ফেরত দেওয়া হয়। এখানে একটি সহজ উদাহরণ:
// 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) ম্যান পেজ
- পাইথনের "অপ্টপার্স" মডিউল (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) কন্সট্রাক্টরকে দেওয়া 'optionSource'-এর @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 ()
কোনো ডিফল্ট মান পরিবর্তন করেনি এমন বিকল্পগুলির সেট প্রদান করে।
রিটার্নস | |
---|---|
getOptionHelp
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)
কন্সট্রাক্টরকে দেওয়া 'optionSource'-এর @Option ক্ষেত্রগুলি সেট করে কমান্ড-লাইন আর্গুমেন্ট 'args' পার্স করে।
পরামিতি | |
---|---|
args | String |
রিটার্নস | |
---|---|
অবস্থানগত আর্গুমেন্টগুলির একটি ERROR(/List) সমস্ত বিকল্প প্রক্রিয়া করার পরে অবশিষ্ট থাকে৷ |
নিক্ষেপ করে | |
---|---|
ConfigurationException | যদি আর্গুমেন্ট পার্সিং ত্রুটি ঘটেছে. |
পার্স
publicparse ( args)
বিকল্প parse(String)
পদ্ধতি যা আর্গুমেন্টের একটি ERROR(/List)
নেয়
পরামিতি | |
---|---|
args |
রিটার্নস | |
---|---|
অবস্থানগত আর্গুমেন্টগুলির একটি ERROR(/List) সমস্ত বিকল্প প্রক্রিয়া করার পরে অবশিষ্ট থাকে৷ |
নিক্ষেপ করে | |
---|---|
ConfigurationException | যদি আর্গুমেন্ট পার্সিং ত্রুটি ঘটেছে. |
parseBestEffort
publicparseBestEffort ( args)
বিকল্প parseBestEffort(String)
পদ্ধতি যা আর্গুমেন্টের একটি ERROR(/List)
নেয়
পরামিতি | |
---|---|
args |
রিটার্নস | |
---|---|
বাম আর্গুমেন্টের একটি ERROR(/List) |
parseBestEffort
publicparseBestEffort ( args, boolean forceContinue)
বিকল্প parseBestEffort(String)
পদ্ধতি যা আর্গুমেন্টের একটি ERROR(/List)
নেয় এবং শেষ পর্যন্ত পার্সিং চালিয়ে যেতে বাধ্য করা যেতে পারে, এমনকি কিছু args পার্স না করলেও।
পরামিতি | |
---|---|
args | |
forceContinue | boolean : কিছু আর্গ পার্স না করলেও এটি পার্স করা চালিয়ে গেলে সত্য। |
রিটার্নস | |
---|---|
বাম আর্গুমেন্টের একটি ERROR(/List) |
parseBestEffort
publicparseBestEffort (String... args)
parse(String)
এর একটি সেরা প্রচেষ্টা সংস্করণ। যদি একটি ConfigurationException নিক্ষেপ করা হয়, সেই ব্যতিক্রমটি অভ্যন্তরীণভাবে ক্যাপচার করা হয়, এবং অবশিষ্ট আর্গুমেন্টগুলি (আর্গুমেন্ট সহ যা ব্যতিক্রমটি নিক্ষেপ করা হয়েছিল) ফিরিয়ে দেওয়া হয়। এই পদ্ধতি নিক্ষেপ না.
পরামিতি | |
---|---|
args | String |
রিটার্নস | |
---|---|
বাম আর্গুমেন্টের একটি ERROR(/List) |
validateMandatoryOptions
public void validateMandatoryOptions ()
নিশ্চিত করে যে বাধ্যতামূলক হিসাবে চিহ্নিত সমস্ত ক্ষেত্র সেট করা হয়েছে৷
নিক্ষেপ করে | |
---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException |