ArgsOptionParser
public class ArgsOptionParser
extends OptionSetter
| java.lang.Object | ||
| ↳ | 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.
// 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)
- জিএনইউ "কমান্ড লাইন ইন্টারফেসের মানদণ্ড" (http://www.gnu.org/prep/standards/standards.html#Command_002dLine-Interfaces)
আরও দেখুন:
সারসংক্ষেপ
সরকারি নির্মাণকারী | |
|---|---|
ArgsOptionParser (Object... optionSources) এক বা একাধিক অবজেক্টের জন্য একটি | |
ArgsOptionParser (Collection<Object> optionSources) অবজেক্টের একটি সংগ্রহের জন্য একটি | |
জনসাধারণের পদ্ধতি | |
|---|---|
Set<String> | getInopOptions ()সেইসব অপশনের সেট ফেরত দেয় যেগুলো কোনো ডিফল্ট মান পরিবর্তন করেনি। |
static String | getOptionHelp (boolean importantOnly, Object optionObject) সমস্ত |
List<String> | parse (List<String> args) |
List<String> | parse (String... args)কমান্ড-লাইন আর্গুমেন্ট 'args' পার্স করে এবং কনস্ট্রাক্টরে প্রদত্ত 'optionSource'-এর @Option ফিল্ডগুলো সেট করে। |
List<String> | parseBestEffort (List<String> args) |
List<String> | parseBestEffort (List<String> args, boolean forceContinue) |
List<String> | parseBestEffort (String... args) |
void | validateMandatoryOptions ()বাধ্যতামূলক হিসেবে চিহ্নিত সমস্ত ফিল্ড পূরণ করা হয়েছে কিনা তা যাচাই করে। |
সরকারি নির্মাণকারী
ArgsOptionParser
public ArgsOptionParser (Object... optionSources)
এক বা একাধিক অবজেক্টের জন্য একটি ArgsOptionParser তৈরি করে।
| প্যারামিটার | |
|---|---|
optionSources | Object : কনফিগারেশন অবজেক্টগুলো। |
| নিক্ষেপ | |
|---|---|
ConfigurationException | যদি কনফিগারেশন অবজেক্টগুলো ভুলভাবে কনফিগার করা থাকে। |
ArgsOptionParser
public ArgsOptionParser (Collection<Object> optionSources)
অবজেক্টের একটি সংগ্রহের জন্য একটি ArgsOptionParser তৈরি করে।
| প্যারামিটার | |
|---|---|
optionSources | Collection : কনফিগারেশন অবজেক্টগুলো। |
| নিক্ষেপ | |
|---|---|
ConfigurationException | যদি কনফিগারেশন অবজেক্টগুলো ভুলভাবে কনফিগার করা থাকে। |
জনসাধারণের পদ্ধতি
getInopOptions
public Set<String> getInopOptions ()
সেইসব অপশনের সেট ফেরত দেয় যেগুলো কোনো ডিফল্ট মান পরিবর্তন করেনি।
| ফেরত | |
|---|---|
Set<String> | |
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 | সমস্ত অপশন ফিল্ডের জন্য ব্যবহারকারী-বান্ধব সহায়ক টেক্সট সম্বলিত একটি স্ট্রিং। |
পার্স
public List<String> parse (List<String> args)
ERROR(/#parse(String. args)) এর বিকল্প মেথড যা আর্গুমেন্টের একটি List গ্রহণ করে
| প্যারামিটার | |
|---|---|
args | List |
| ফেরত | |
|---|---|
List<String> | সমস্ত অপশন প্রক্রিয়াকরণের পর অবশিষ্ট পজিশনাল আর্গুমেন্টগুলোর একটি List । |
| নিক্ষেপ | |
|---|---|
ConfigurationException | আর্গুমেন্টগুলো পার্স করার সময় কোনো ত্রুটি ঘটলে |
পার্স
public List<String> parse (String... args)
কমান্ড-লাইন আর্গুমেন্ট 'args' পার্স করে এবং কনস্ট্রাক্টরে প্রদত্ত 'optionSource'-এর @Option ফিল্ডগুলো সেট করে।
| প্যারামিটার | |
|---|---|
args | String |
| ফেরত | |
|---|---|
List<String> | সমস্ত অপশন প্রক্রিয়াকরণের পর অবশিষ্ট পজিশনাল আর্গুমেন্টগুলোর একটি List । |
| নিক্ষেপ | |
|---|---|
ConfigurationException | আর্গুমেন্টগুলো পার্স করার সময় কোনো ত্রুটি ঘটলে |
parseBestEffort
public List<String> parseBestEffort (List<String> args)
ERROR(/#parseBestEffort(String. args)) এর বিকল্প মেথড যা আর্গুমেন্টের একটি List গ্রহণ করে
| প্যারামিটার | |
|---|---|
args | List |
| ফেরত | |
|---|---|
List<String> | অবশিষ্ট যুক্তিগুলির একটি List |
parseBestEffort
public List<String> parseBestEffort (List<String> args,
boolean forceContinue)ERROR(/#parseBestEffort(String. args)) এর একটি বিকল্প মেথড, যা আর্গুমেন্টের একটি List গ্রহণ করে এবং কিছু আর্গুমেন্ট পার্স না হলেও শেষ পর্যন্ত পার্সিং চালিয়ে যেতে বাধ্য করা যায়।
| প্যারামিটার | |
|---|---|
args | List : যে তালিকায় অবশিষ্ট আর্গুমেন্টগুলো থাকবে। |
forceContinue | boolean : যদি কিছু আর্গুমেন্ট পার্স না হলেও পার্স করা চালিয়ে যাওয়া হয়, তাহলে এর মান হবে True। |
| ফেরত | |
|---|---|
List<String> | অবশিষ্ট যুক্তিগুলির একটি List |
parseBestEffort
public List<String> parseBestEffort (String... args)
ERROR(/#parse(String. args)) -এর একটি বেস্ট-এফোর্ট সংস্করণ। যদি একটি ConfigurationException থ্রো করা হয়, তবে সেই এক্সেপশনটি অভ্যন্তরীণভাবে ক্যাপচার করা হয় এবং অবশিষ্ট আর্গুমেন্টগুলো (যে আর্গুমেন্টটির কারণে এক্সেপশনটি থ্রো হয়েছে সেটি সহ) রিটার্ন করা হয়। এই মেথডটি কোনো এক্সেপশন থ্রো করে না।
| প্যারামিটার | |
|---|---|
args | String |
| ফেরত | |
|---|---|
List<String> | অবশিষ্ট যুক্তিগুলির একটি List |
বাধ্যতামূলক বিকল্পগুলি যাচাই করুন
public void validateMandatoryOptions ()
বাধ্যতামূলক হিসেবে চিহ্নিত সমস্ত ফিল্ড পূরণ করা হয়েছে কিনা তা যাচাই করে।
| নিক্ষেপ | |
|---|---|
| com.android.tradefed.config.ConfigurationException |
ConfigurationException | |