Option Group তৈরি এবং ব্যবস্থাপনা

Option Group ব্যবস্থাপনা - অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) - Java Technologies

276

Apache Commons CLI লাইব্রেরি কমান্ড-লাইন আর্গুমেন্ট হ্যান্ডলিং সহজ এবং কার্যকরী করে তোলে। এর একটি শক্তিশালী বৈশিষ্ট্য হলো Option Group তৈরি এবং ব্যবস্থাপনা, যা আপনাকে একটি নির্দিষ্ট গ্রুপে থাকা অপশনগুলিকে একসাথে পরিচালনা করতে সহায়তা করে। Option Group ব্যবহার করলে আপনি কিছু অপশনকে একত্রিত করতে পারেন এবং নির্দিষ্ট শর্তের অধীনে সেগুলির মধ্যে শুধুমাত্র একটি অপশন নির্বাচন করার জন্য বাধ্য করতে পারেন।

Option Group তৈরি এবং ব্যবস্থাপনা

Option Group এমন একটি কনসেপ্ট যেখানে একাধিক অপশন থাকে, এবং ব্যবহারকারীকে সেগুলোর মধ্যে থেকে একটি অপশন নির্বাচন করতে বাধ্য করা হয়। এর মাধ্যমে আপনি কিছু অপশনকে একত্রিত করতে পারেন, যেমন ইউজারের জন্য "output" অপশনটি ব্যবহার করা বাধ্যতামূলক করতে পারেন, তবে একাধিক আউটপুট ফাইল ফরম্যাট হতে পারে (যেমন .txt, .pdf, .csv)।

১. Maven Dependency:

প্রথমে, আপনার pom.xml ফাইলে Apache Commons CLI যুক্ত করুন:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.4</version>
</dependency>

২. Option Group তৈরি করা:

আপনার প্রোজেক্টে Option Group তৈরি করতে, প্রথমে কিছু অপশন তৈরি করতে হবে এবং তারপর সেগুলিকে একটি OptionGroup এ যুক্ত করতে হবে। নিচে একটি উদাহরণ দেওয়া হয়েছে যেখানে তিনটি অপশন একত্রিত করা হয়েছে এবং ইউজারকে শুধুমাত্র একটি অপশন নির্বাচন করতে বলা হয়েছে।

উদাহরণ:

import org.apache.commons.cli.*;

public class OptionGroupExample {

    public static void main(String[] args) {
        // অপশন কনফিগারেশন
        Options options = new Options();

        // দুটি অপশন তৈরি করা
        Option option1 = new Option("t", "text", false, "Text output option");
        Option option2 = new Option("p", "pdf", false, "PDF output option");
        Option option3 = new Option("c", "csv", false, "CSV output option");

        // Option Group তৈরি করা
        OptionGroup group = new OptionGroup();
        group.addOption(option1);
        group.addOption(option2);
        group.addOption(option3);

        // অপশন গ্রুপের জন্য একাধিক অপশন একত্রিত করা
        group.setRequired(true);  // গ্রুপ থেকে একটি অপশন নির্বাচন করতেই হবে
        options.addOptionGroup(group);

        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null;

        try {
            // আর্গুমেন্ট পার্সিং
            cmd = parser.parse(options, args);

            // নির্বাচিত অপশন চেক করা
            if (cmd.hasOption("t")) {
                System.out.println("Selected Text Output");
            } else if (cmd.hasOption("p")) {
                System.out.println("Selected PDF Output");
            } else if (cmd.hasOption("c")) {
                System.out.println("Selected CSV Output");
            }
        } catch (ParseException e) {
            // যদি আর্গুমেন্টগুলো সঠিকভাবে না দেওয়া হয়
            System.err.println("Error: " + e.getMessage());
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("OptionGroupExample", options);
        }
    }
}

ব্যাখ্যা:

  1. OptionGroup: তিনটি অপশন তৈরি করা হয়েছে, যেমন text, pdf, এবং csv। এগুলোকে একটি OptionGroup এ যুক্ত করা হয়েছে।
  2. setRequired(true): OptionGroup এর মধ্যে যেকোনো একটি অপশন অবশ্যই নির্বাচিত হতে হবে। এটি নিশ্চিত করে যে, গ্রুপের একাধিক অপশন থাকতে পারে, তবে ইউজার শুধুমাত্র একটি অপশনই নির্বাচিত করতে পারবেন।
  3. CommandLineParser: এটি অপশনগুলো পার্স করে এবং ইউজারের ইনপুট অনুযায়ী সঠিক অপশন চেক করে।
  4. HelpFormatter: যদি ইউজার কোনো অপশন সঠিকভাবে প্রদান না করে, তবে HelpFormatter এর মাধ্যমে সাহায্য মেসেজ প্রদর্শন করা হয়।

আউটপুট:

  • যদি আপনি -t অপশন প্রদান করেন:
java OptionGroupExample -t

আউটপুট:

Selected Text Output
  • যদি আপনি -p অপশন প্রদান করেন:
java OptionGroupExample -p

আউটপুট:

Selected PDF Output
  • যদি আপনি -c অপশন প্রদান করেন:
java OptionGroupExample -c

আউটপুট:

Selected CSV Output
  • যদি আপনি একটি অপশনও প্রদান না করেন:
java OptionGroupExample

আউটপুট:

Error: At least one of the options -t, -p, -c must be specified.

এখানে, যদি কোনো অপশন উল্লেখ না করা হয়, তবে সাহায্য মেসেজ প্রদর্শিত হবে এবং একটি অপশন অবশ্যই নির্বাচন করতে হবে।


৩. Option Group এর আরো ব্যবহার

Option Group এর মাধ্যমে আপনি আরও অনেক কাস্টমাইজেশন করতে পারেন। উদাহরণস্বরূপ, আপনি একাধিক অপশন গ্রুপ তৈরি করতে পারেন, যেখানে প্রতিটি গ্রুপে বিভিন্ন ধরনের অপশন থাকতে পারে, এবং প্রতি গ্রুপের মধ্যে এক বা একাধিক অপশন নির্বাচন বাধ্যতামূলক করতে পারেন।

উদাহরণ: একাধিক অপশন গ্রুপের ব্যবহার

import org.apache.commons.cli.*;

public class MultipleOptionGroupsExample {

    public static void main(String[] args) {
        Options options = new Options();

        // প্রথম গ্রুপের অপশন
        Option option1 = new Option("t", "text", false, "Text output option");
        Option option2 = new Option("p", "pdf", false, "PDF output option");
        OptionGroup group1 = new OptionGroup();
        group1.addOption(option1);
        group1.addOption(option2);
        group1.setRequired(true);  // প্রথম গ্রুপে একটি অপশন অবশ্যই প্রয়োজন

        // দ্বিতীয় গ্রুপের অপশন
        Option option3 = new Option("c", "csv", false, "CSV output option");
        Option option4 = new Option("x", "xml", false, "XML output option");
        OptionGroup group2 = new OptionGroup();
        group2.addOption(option3);
        group2.addOption(option4);
        group2.setRequired(true);  // দ্বিতীয় গ্রুপে একটি অপশন অবশ্যই প্রয়োজন

        // গ্রুপগুলো অপশন হিসেবে যোগ করা
        options.addOptionGroup(group1);
        options.addOptionGroup(group2);

        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null;

        try {
            // আর্গুমেন্ট পার্সিং
            cmd = parser.parse(options, args);

            // প্রথম গ্রুপের অপশন নির্বাচন চেক করা
            if (cmd.hasOption("t")) {
                System.out.println("Selected Text Output");
            } else if (cmd.hasOption("p")) {
                System.out.println("Selected PDF Output");
            }

            // দ্বিতীয় গ্রুপের অপশন নির্বাচন চেক করা
            if (cmd.hasOption("c")) {
                System.out.println("Selected CSV Output");
            } else if (cmd.hasOption("x")) {
                System.out.println("Selected XML Output");
            }
        } catch (ParseException e) {
            // যদি আর্গুমেন্টগুলো সঠিকভাবে না দেওয়া হয়
            System.err.println("Error: " + e.getMessage());
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("MultipleOptionGroupsExample", options);
        }
    }
}

আউটপুট:

  • যদি আপনি দুটি গ্রুপের অপশন নির্বাচন করেন:
java MultipleOptionGroupsExample -t -c

আউটপুট:

Selected Text Output
Selected CSV Output

সারাংশ

Apache Commons CLI এর মাধ্যমে Option Group তৈরি করা এবং সেগুলির মধ্যে অপশনগুলির ব্যবস্থাপনা করা খুবই সহজ। এটি ব্যবহারকারীকে বিভিন্ন গ্রুপের মধ্যে থেকে একাধিক অপশন নির্বাচন করতে বাধ্য করে এবং এর মাধ্যমে কমান্ড-লাইন অ্যাপ্লিকেশনের জন্য আরও কাস্টমাইজড এবং উন্নত ইনপুট হ্যান্ডলিং নিশ্চিত করে। OptionGroup ব্যবহার করে আপনি অপশনগুলিকে গ্রুপবদ্ধ করে একটি নির্দিষ্ট গ্রুপের মধ্যে সঠিক অপশন নির্বাচিত করতে বাধ্য করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...