Apache Commons CLI লাইব্রেরিটি Java-তে কমান্ড লাইন ইনপুট প্রক্রিয়া করার জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীদের জন্য সহজ এবং সুসংগঠিত উপায়ে কমান্ড লাইন আর্গুমেন্ট (arguments) এবং বিকল্প (options) হ্যান্ডলিং করতে সহায়তা করে। এই লাইব্রেরি ব্যবহার করে আপনি সহজেই কমান্ড লাইন অ্যাপ্লিকেশন তৈরি করতে পারেন যেখানে ব্যবহারকারীরা নির্দিষ্ট বিকল্প এবং আর্গুমেন্ট প্রদান করবে।
এখানে আমরা Usage এবং Syntax প্রদর্শনের জন্য HelpFormatter ক্লাস ব্যবহার করব, যা ব্যবহারকারীদের জন্য আপনার কমান্ড লাইন অ্যাপ্লিকেশনের কিভাবে ব্যবহার করতে হবে তা স্পষ্টভাবে দেখানোর জন্য ব্যবহৃত হয়।
Usage এবং Syntax প্রদর্শন
HelpFormatter ক্লাস কমান্ড লাইন অ্যাপ্লিকেশনের জন্য সহায়ক বার্তা এবং সঠিক Usage ও Syntax প্রদর্শন করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি বিভিন্ন বিকল্প এবং আর্গুমেন্ট সহ একটি সম্পূর্ণ সহায়ক বার্তা প্রদান করতে পারেন।
প্রধান বৈশিষ্ট্য:
- Usage: এটি অ্যাপ্লিকেশনটি কীভাবে চালানো হবে তার একটি সারাংশ দেখায়।
- Syntax: এটি কমান্ডের সঠিক গঠন এবং অনুমোদিত বিকল্পগুলি প্রদর্শন করে।
- Options Description: এটি সমস্ত উপলব্ধ বিকল্প এবং তাদের ব্যাখ্যা দেখায়।
উদাহরণ: Usage এবং Syntax প্রদর্শন
import org.apache.commons.cli.*;
public class HelpFormatterExample {
public static void main(String[] args) {
// বিকল্প তৈরি
Options options = new Options();
Option helpOption = new Option("h", "help", false, "Show help");
options.addOption(helpOption);
Option inputOption = new Option("i", "input", true, "Input file");
options.addOption(inputOption);
Option outputOption = new Option("o", "output", true, "Output file");
options.addOption(outputOption);
Option verboseOption = new Option("v", "verbose", false, "Enable verbose output");
options.addOption(verboseOption);
// কমান্ড লাইন পার্সার
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
// আর্গুমেন্ট পার্স করা
cmd = parser.parse(options, args);
// --help চেক করা
if (cmd.hasOption("h")) {
// HelpFormatter ব্যবহার করে সঠিক Usage প্রদর্শন
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("HelpFormatterExample", options);
return;
}
// অন্যান্য বিকল্প চেক করা
if (cmd.hasOption("i")) {
String inputFile = cmd.getOptionValue("i");
System.out.println("Input file: " + inputFile);
}
if (cmd.hasOption("o")) {
String outputFile = cmd.getOptionValue("o");
System.out.println("Output file: " + outputFile);
}
if (cmd.hasOption("v")) {
System.out.println("Verbose mode enabled");
}
} catch (ParseException e) {
System.out.println("Error parsing command line: " + e.getMessage());
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("HelpFormatterExample", options);
}
}
}
ব্যাখ্যা:
- Options: এখানে আমরা কিছু বিকল্প তৈরি করেছি, যেমন
-hবা--help,-iবা--input,-oবা--output, এবং-vবা--verbose। - HelpFormatter: যদি ব্যবহারকারী
--helpবা-hবিকল্প নির্বাচন করেন, তবে এটি একটি সঠিকUsageএবংSyntaxবার্তা প্রদর্শন করবে যা কিভাবে অ্যাপ্লিকেশনটি ব্যবহার করতে হবে তা বর্ণনা করে। - Command Line Parsing: আর্গুমেন্ট পার্সিংয়ের মাধ্যমে, এই কোডটি ব্যবহারকারীর প্রদানকৃত বিকল্পগুলির ভিত্তিতে কমান্ডের আউটপুট তৈরি করবে।
আউটপুট:
যদি ব্যবহারকারী --help বা -h প্রদান করেন, তাহলে আউটপুট হবে:
Usage: HelpFormatterExample [options]
Options:
-h, --help Show help
-i, --input <file> Input file
-o, --output <file> Output file
-v, --verbose Enable verbose output
এছাড়া, যদি ব্যবহারকারী অন্য কোন বিকল্প প্রদান করেন, তাহলে সেই অনুযায়ী আউটপুট হবে, যেমন:
Input file: input.txt
Output file: output.txt
Verbose mode enabled
HelpFormatter এর সুবিধা
- স্বয়ংক্রিয় সহায়ক বার্তা:
HelpFormatterক্লাস ব্যবহার করলে আপনার অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে সঠিক এবং বিস্তারিত সহায়ক বার্তা প্রদান করতে পারে। - স্পষ্ট এবং সুসংগঠিত আউটপুট: এটি CLI অ্যাপ্লিকেশনগুলির জন্য পরিষ্কার এবং সহজবোধ্য
UsageএবংSyntaxআউটপুট প্রদান করে। - বিকল্প ব্যাখ্যা: এটি বিকল্পগুলির স্পষ্ট ব্যাখ্যা প্রদান করে, যাতে ব্যবহারকারী বুঝতে পারে কোন বিকল্প কীভাবে ব্যবহার করতে হবে।
Apache Commons CLI লাইব্রেরি ব্যবহার করে Java অ্যাপ্লিকেশনগুলিতে কমান্ড লাইন আর্গুমেন্ট হ্যান্ডলিং খুবই সহজ এবং কার্যকরী। HelpFormatter ক্লাসের সাহায্যে আপনি আপনার অ্যাপ্লিকেশনের জন্য সঠিক Usage এবং Syntax বার্তা তৈরি করতে পারেন, যা ব্যবহারকারীদের জন্য অত্যন্ত সহায়ক এবং সহজবোধ্য। এটি বিশেষভাবে কমান্ড লাইন অ্যাপ্লিকেশনের জন্য অপরিহার্য, যেখানে ব্যবহারকারীদের সঠিক আর্গুমেন্টের জন্য সহায়ক বার্তা প্রদর্শন করা প্রয়োজন।
Read more