অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি কমান্ড লাইন আর্গুমেন্টস পরিচালনা করার জন্য একটি শক্তিশালী টুল। এটি আর্গুমেন্টগুলির সঠিকতা যাচাই করতে সহায়তা করে এবং প্রয়োজনীয় ক্ষেত্রে ডিফল্ট মান প্রদান করার সুযোগ দেয়। এই ফিচারগুলির মাধ্যমে আপনি আপনার অ্যাপ্লিকেশন বা স্ক্রিপ্টে ব্যবহারকারীর ইনপুটের মান যাচাই করতে এবং ডিফল্ট মান সেট করে আরও কার্যকরী ও ব্যবহারযোগ্য অ্যাপ্লিকেশন তৈরি করতে পারেন।
Option Validation এবং Default Values এর গুরুত্ব:
- Option Validation: এটি নিশ্চিত করে যে ব্যবহারকারীরা সঠিক আর্গুমেন্ট এবং ভ্যালু পাস করছে কিনা। এটি প্রোগ্রামের সঠিকতা এবং স্থিতিশীলতা রক্ষা করতে সাহায্য করে।
- Default Values: কখনো কখনো ব্যবহারকারী যদি কোনো নির্দিষ্ট আর্গুমেন্ট না দেয়, তবে আপনি প্রোগ্রামে একটি ডিফল্ট মান ব্যবহার করতে পারেন, যা প্রোগ্রামটির কার্যক্রম চালু রাখতে সহায়তা করে।
Option Validation
অ্যাপাচি কমন্স সিআলআই লাইব্রেরি আপনার আর্গুমেন্টগুলোর মান যাচাই করতে সাহায্য করে। আপনি প্রতিটি অপশন তৈরির সময় তার জন্য নির্দিষ্ট শর্ত (যেমন আর্গুমেন্টের ধরন, বাধ্যতামূলক ফ্ল্যাগ, ইত্যাদি) সেট করতে পারেন।
Option Validation উদাহরণ
ধরা যাক, আপনার একটি অপশন আছে যেখানে একটি ইনটিজার প্যারামিটার প্রয়োজন এবং সেটা ম্যান্ডেটরি (অর্থাৎ সেটি বাধ্যতামূলক)। আপনি এটি অ্যাপাচি কমন্স সিআলআই এর মাধ্যমে এইভাবে যাচাই করতে পারেন:
import org.apache.commons.cli.*;
public class OptionValidationExample {
public static void main(String[] args) {
// অপশন তৈরি করা
Options options = new Options();
Option numberOption = new Option("n", "number", true, "Enter a number");
numberOption.setRequired(true); // ম্যান্ডেটরি
numberOption.setType(Integer.class); // ইনটিজার টাইপ
options.addOption(numberOption);
// কমান্ড লাইন পার্সার তৈরি করা
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
cmd = parser.parse(options, args);
// যদি অপশনটি ঠিকমত পাস না করা হয়
if (cmd.hasOption("n")) {
String numberValue = cmd.getOptionValue("n");
System.out.println("Entered number: " + numberValue);
}
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
এখানে, -n অপশনটি বাধ্যতামূলক (ম্যান্ডেটরি) এবং ইনপুট হিসেবে একটি ইনটিজার ভ্যালু আশা করছে। যদি ব্যবহারকারী ভুল ভ্যালু পাস করেন বা অপশনটি না দেন, তবে ত্রুটি বার্তা প্রদর্শিত হবে।
কমান্ড লাইন আর্গুমেন্টস
java OptionValidationExample -n 100
এই ক্ষেত্রে, -n 100 একটি বৈধ আর্গুমেন্ট হিসেবে গ্রহণ করা হবে। অন্যদিকে, যদি ব্যবহারকারী -n এর পরে কোনো মান না দেয় বা ভুল মান পাস করে, তাহলে একটি ত্রুটি দেখানো হবে।
Default Values যোগ করা
কখনো কখনো আপনি কিছু অপশন তৈরি করতে পারেন যেগুলোর জন্য ডিফল্ট মান থাকতে পারে, যদি ব্যবহারকারী সেগুলো না দিয়ে থাকে। অ্যাপাচি কমন্স সিআলআই লাইব্রেরি ডিফল্ট মান যোগ করার জন্য একটি সহজ পদ্ধতি সরবরাহ করে।
Default Values উদাহরণ
import org.apache.commons.cli.*;
public class DefaultValuesExample {
public static void main(String[] args) {
// অপশন তৈরি করা
Options options = new Options();
// ডিফল্ট ভ্যালু সহ অপশন তৈরি করা
Option userOption = new Option("u", "user", true, "Username");
userOption.setRequired(false); // এটি ম্যান্ডেটরি নয়
options.addOption(userOption);
Option ageOption = new Option("a", "age", true, "Age");
ageOption.setRequired(false); // এটি ম্যান্ডেটরি নয়
options.addOption(ageOption);
// কমান্ড লাইন পার্সার তৈরি করা
CommandLineParser parser = new DefaultParser();
CommandLine cmd = null;
try {
cmd = parser.parse(options, args);
// ডিফল্ট মান সেট করা
String username = cmd.hasOption("u") ? cmd.getOptionValue("u") : "Guest";
String age = cmd.hasOption("a") ? cmd.getOptionValue("a") : "Unknown";
// আউটপুট
System.out.println("Username: " + username);
System.out.println("Age: " + age);
} catch (ParseException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
এখানে, -u এবং -a অপশনগুলো ব্যবহারকারীর দ্বারা পাস করা যাবে। যদি ব্যবহারকারী কোনও অপশন পাস না করেন, তাহলে ডিফল্ট মান "Guest" এবং "Unknown" সেট করা হবে।
কমান্ড লাইন আর্গুমেন্টস
java DefaultValuesExample -u John -a 25
এই কমান্ডে, ব্যবহারকারী -u এবং -a আর্গুমেন্টস পাস করেছেন, এবং সেগুলোর মান যথাক্রমে John এবং 25 হবে। তবে যদি কোনো অপশন না দেয়া হয়, তাহলে ডিফল্ট মান ব্যবহার করা হবে।
সারাংশ
অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) লাইব্রেরি আপনার কমান্ড লাইন আর্গুমেন্টস পরিচালনা এবং যাচাই করার জন্য অত্যন্ত শক্তিশালী টুল সরবরাহ করে। আপনি Option Validation এর মাধ্যমে আর্গুমেন্টের মান এবং ধরন যাচাই করতে পারেন এবং Default Values যোগ করে অপশনগুলোর জন্য ডিফল্ট মান সেট করতে পারেন। এই ফিচারগুলো অ্যাপ্লিকেশন বা স্ক্রিপ্ট তৈরি করার সময় আর্গুমেন্ট ব্যবহারের নিয়ম এবং সঠিকতা নিশ্চিত করতে সাহায্য করে।
Read more