Apache Commons CLI লাইব্রেরি ব্যবহারকারীদের জন্য কমান্ড লাইন ইনপুট পার্সিংয়ের একটি শক্তিশালী সমাধান প্রদান করে। তবে, HelpFormatter ক্লাসের মাধ্যমে আমরা সহজেই Command Line Help তৈরি করতে পারি, যা ব্যবহারকারীদের নির্দেশনা প্রদান করে কিভাবে অ্যাপ্লিকেশনটি ব্যবহার করতে হবে। এটি অ্যাপ্লিকেশনটিকে আরও ব্যবহারকারী-বান্ধব এবং নির্ভুল করে তোলে।
এই টিউটোরিয়ালে, আমরা Apache Commons CLI লাইব্রেরির HelpFormatter ক্লাস ব্যবহার করে কিভাবে কমান্ড লাইন হেল্প তৈরি করা যায় তা দেখব।
HelpFormatter এর ভূমিকা
HelpFormatter ক্লাসটি Apache Commons CLI লাইব্রেরির একটি গুরুত্বপূর্ণ অংশ, যা কমান্ড লাইন অপশনের জন্য সাহায্য বা নির্দেশিকা প্রদানের জন্য ব্যবহৃত হয়। এটি আপনাকে কমান্ড লাইন আর্গুমেন্টের ব্যবহারের ধরন এবং উপযুক্ত অপশনগুলির একটি সুসংগঠিত এবং পাঠযোগ্য আউটপুট প্রদান করতে সহায়ক।
HelpFormatter সাধারণত ব্যবহারকারীর জন্য অ্যাপ্লিকেশনের কিভাবে ব্যবহার করা হবে তা স্পষ্ট করে।
HelpFormatter ব্যবহার করার পদক্ষেপ
- Options তৈরি করা: প্রথমে, আপনি যে অপশনগুলো চান তা Options অবজেক্টে সংজ্ঞায়িত করবেন।
- Command Line Parser তৈরি করা: CommandLineParser ব্যবহার করে ইনপুট কমান্ড পার্স করা হবে।
- HelpFormatter ব্যবহার করা: অবশেষে, HelpFormatter ব্যবহার করে অ্যাপ্লিকেশনটি কিভাবে ব্যবহার করতে হবে তার একটি সাহায্য বা হেল্প পৃষ্ঠা তৈরি করা হবে।
উদাহরণ: HelpFormatter ব্যবহার করে Command Line Help তৈরি
1. HelpFormatter ব্যবহার করে অপশন তৈরি
ধরি, আমাদের একটি কমান্ড লাইন অ্যাপ্লিকেশন আছে যা কিছু অপশন নেবে যেমন:
-fবা--file: একটি ফাইল পাথ-vবা--version: অ্যাপ্লিকেশন ভার্সন দেখাবে-hবা--help: সাহায্য পৃষ্ঠা দেখাবে
এখন, এই অপশনগুলির জন্য আমরা হেল্প তৈরি করব।
কোড উদাহরণ:
import org.apache.commons.cli.*;
public class CommandLineHelpExample {
public static void main(String[] args) {
// অপশন তৈরি করা
Options options = new Options();
// -f বা --file অপশন যোগ করা
options.addOption("f", "file", true, "Path to the input file");
// -v বা --version অপশন যোগ করা
options.addOption("v", "version", false, "Show version info");
// -h বা --help অপশন যোগ করা
options.addOption("h", "help", false, "Show this help message");
// কমান্ড লাইন পার্সার তৈরি করা
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
try {
// কমান্ড লাইন আর্গুমেন্ট পার্স করা
CommandLine line = parser.parse(options, args);
// --help অপশন চেক করা
if (line.hasOption("h")) {
formatter.printHelp("CommandLineHelpExample", options);
return;
}
// --version অপশন চেক করা
if (line.hasOption("v")) {
System.out.println("Version 1.0.0");
return;
}
// --file অপশন চেক করা
if (line.hasOption("f")) {
String filePath = line.getOptionValue("f");
System.out.println("File path: " + filePath);
}
} catch (ParseException exp) {
System.out.println("Error parsing the command line: " + exp.getMessage());
formatter.printHelp("CommandLineHelpExample", options);
}
}
}
2. কোডের ব্যাখ্যা:
- Options অবজেক্টে তিনটি অপশন যোগ করা হয়েছে:
-f(file),-v(version), এবং-h(help)। - HelpFormatter ব্যবহার করা হয়েছে হেল্প পৃষ্ঠা প্রিন্ট করার জন্য।
- যদি ব্যবহারকারী
-hঅথবা--helpঅপশন দেন, তাহলে হেল্প পৃষ্ঠা দেখানো হবে, যেখানে অ্যাপ্লিকেশনের অপশনগুলির ব্যাখ্যা থাকবে।
3. আউটপুট:
যদি
-hবা--helpঅপশন ব্যবহার করা হয়:java CommandLineHelpExample -h CommandLineHelpExample [options] options: -f, --file <file> Path to the input file -v, --version Show version info -h, --help Show this help messageযদি
-vঅপশন ব্যবহার করা হয়:java CommandLineHelpExample -v Version 1.0.0যদি
-fঅপশন ব্যবহার করা হয়:java CommandLineHelpExample -f /path/to/file File path: /path/to/file
HelpFormatter এর কাস্টমাইজেশন
HelpFormatter ক্লাসটি কিছু কাস্টমাইজেশন অপশনও প্রদান করে, যা আপনাকে আউটপুটটিকে আরও ভালভাবে সাজাতে সাহায্য করে।
কাস্টমাইজেশন অপশন:
- width: আউটপুটের চওড়া (লেআউট কন্ট্রোল)
- padding: অপশন এবং বর্ণনার মধ্যে ফাঁকা স্থান
- syntaxPrefix: কমান্ড লাইন সিঙ্কট্যাক্সে প্রিফিক্স যোগ করা
উদাহরণ: HelpFormatter কাস্টমাইজেশন
HelpFormatter formatter = new HelpFormatter();
formatter.setWidth(100); // আউটপুটের চওড়া বাড়ানো
formatter.setPadding(2); // প্যাডিং বাড়ানো
formatter.setSyntaxPrefix("Usage: ");
formatter.printHelp("CommandLineHelpExample", options);
এই কাস্টমাইজেশন অপশনগুলির সাহায্যে আপনি আপনার হেল্প আউটপুট আরও পরিষ্কার এবং ব্যবহারকারীর জন্য উপযোগী করতে পারেন।
সারাংশ
Apache Commons CLI লাইব্রেরি ব্যবহার করে আপনি খুব সহজে HelpFormatter ক্লাসের মাধ্যমে কমান্ড লাইন হেল্প তৈরি করতে পারেন। এটি ব্যবহারকারীদের জন্য একটি পরিষ্কার এবং বিস্তারিত নির্দেশিকা প্রদান করে, যাতে তারা কমান্ড লাইন অ্যাপ্লিকেশনটি সঠিকভাবে ব্যবহার করতে পারে। HelpFormatter ক্লাসটি আউটপুট কাস্টমাইজেশন এবং এক্সটেনশন প্রদান করে, যাতে আপনি আপনার অ্যাপ্লিকেশনটি আরও ব্যবহারকারী-বান্ধব করে তুলতে পারেন।
Read more