Option এর বিভিন্ন প্রকারভেদ (Required, Optional)

Command Line Option তৈরির পদ্ধতি - অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) - Java Technologies

391

Apache Commons CLI একটি Java লাইব্রেরি যা কমান্ড লাইন আর্গুমেন্ট পার্সিং সহজ করে। এটি আপনাকে কমান্ড লাইন আর্গুমেন্টগুলির মধ্যে option তৈরি করতে সহায়তা করে, যা বিভিন্ন প্রকারভেদে হতে পারে, যেমন Required এবং Optional

এই গাইডে, আমরা আলোচনা করব Option এর বিভিন্ন প্রকারভেদ এবং কীভাবে Required এবং Optional অপশনগুলো ব্যবহার করা যায়।


Option এর প্রকারভেদ

  1. Required Option: এই ধরনের অপশন অবশ্যই কমান্ড লাইন আর্গুমেন্ট হিসেবে প্রদান করতে হবে। এটি ব্যবহারকারীকে বাধ্য করে আর্গুমেন্ট প্রদান করতে।
  2. Optional Option: এই ধরনের অপশন দেওয়া হলে আর্গুমেন্ট প্রদান করা আবশ্যক নয়। এটি ব্যবহারকারীকে ঐ অপশনটি বাদ দেওয়ার স্বাধীনতা দেয়।

Required Option

Required Option এমন একটি অপশন যা ব্যবহারকারীকে কমান্ড লাইন ইনপুটে অবশ্যই দিতে হবে। যদি এটি না দেওয়া হয়, তাহলে ParseException ঘটবে বা HelpFormatter ব্যবহার করে সাহায্য প্রদর্শিত হবে।

Required Option তৈরি করা

import org.apache.commons.cli.*;

public class CLIExample {
    public static void main(String[] args) {
        // Option তৈরি করা
        Options options = new Options();

        // 'input' অপশন তৈরি করা যা Required
        Option input = new Option("i", "input", true, "Input file");
        input.setRequired(true);  // এটি একটি Required অপশন
        options.addOption(input);

        // 'output' অপশন তৈরি করা যা Optional
        Option output = new Option("o", "output", true, "Output file");
        output.setRequired(false);  // এটি একটি Optional অপশন
        options.addOption(output);

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

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

            // 'input' অপশন চেক করা
            if (cmd.hasOption("input")) {
                System.out.println("Input file: " + cmd.getOptionValue("input"));
            }

            // 'output' অপশন চেক করা
            if (cmd.hasOption("output")) {
                System.out.println("Output file: " + cmd.getOptionValue("output"));
            }

        } catch (ParseException e) {
            // ভুল আর্গুমেন্ট দেয়ার ক্ষেত্রে Help দেখানো
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("CLIExample", options);
        }
    }
}

ব্যাখ্যা:

  • input অপশনটি required করা হয়েছে। অর্থাৎ, যদি এটি না দেয়া হয়, তাহলে কমান্ড লাইন আর্গুমেন্টের মধ্যে এটি থাকা বাধ্যতামূলক।
  • output অপশনটি optional করা হয়েছে। এটি দেয়া হলে কার্যকর হবে, কিন্তু না দিলে সমস্যা হবে না।

Example:

java CLIExample -i input.txt -o output.txt

যদি আপনি -i অপশনটি বাদ দেন, তাহলে HelpFormatter সাহায্য প্রদর্শন করবে।


Optional Option

Optional Option এমন একটি অপশন যা আর্গুমেন্ট হিসেবে প্রদান করা আবশ্যক নয়। এটি ব্যবহারকারীর সুবিধা অনুযায়ী দেয়া হতে পারে অথবা বাদ দেয়া যেতে পারে।

Optional Option তৈরি করা

import org.apache.commons.cli.*;

public class CLIExample {
    public static void main(String[] args) {
        // Option তৈরি করা
        Options options = new Options();

        // 'input' অপশন তৈরি করা যা Required
        Option input = new Option("i", "input", true, "Input file");
        input.setRequired(true);  // এটি একটি Required অপশন
        options.addOption(input);

        // 'output' অপশন তৈরি করা যা Optional
        Option output = new Option("o", "output", true, "Output file");
        output.setRequired(false);  // এটি একটি Optional অপশন
        options.addOption(output);

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

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

            // 'input' অপশন চেক করা
            if (cmd.hasOption("input")) {
                System.out.println("Input file: " + cmd.getOptionValue("input"));
            }

            // 'output' অপশন চেক করা
            if (cmd.hasOption("output")) {
                System.out.println("Output file: " + cmd.getOptionValue("output"));
            }

        } catch (ParseException e) {
            // ভুল আর্গুমেন্ট দেয়ার ক্ষেত্রে Help দেখানো
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("CLIExample", options);
        }
    }
}

ব্যাখ্যা:

  • input অপশনটি required করা হয়েছে, যা কমান্ডে প্রদান করা বাধ্যতামূলক।
  • output অপশনটি optional করা হয়েছে, যা প্রদান না করলেও প্রোগ্রাম সঠিকভাবে কাজ করবে।

Example:

java CLIExample -i input.txt

এখানে output অপশন বাদ দিলেও কিছু সমস্যা হবে না, কারণ এটি optional


HelpFormatter ব্যবহার

যখন কোনও Required অপশন সরানো হয়, তখন HelpFormatter ব্যবহার করে ব্যবহারকারীর জন্য সাহায্য প্রদর্শন করা যায়। এটি কমান্ড লাইনে সঠিক আর্গুমেন্ট ও অপশন দেখাবে।

HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("CLIExample", options);

এটি CLIExample প্রোগ্রামটির জন্য সঠিক কমান্ড এবং আর্গুমেন্টের উদাহরণ দেখাবে, যেমন:

CLIExample -i input -o output
 -i,--input  Input file
 -o,--output  Output file

সারাংশ

Apache Commons CLI লাইব্রেরি ব্যবহার করে আপনি Required এবং Optional অপশনগুলি সহজে তৈরি করতে পারেন। Required অপশন ব্যবহারকারীকে আর্গুমেন্ট প্রদান করতে বাধ্য করে, যা কমান্ড লাইন ইনপুটের জন্য অপরিহার্য। অন্যদিকে, Optional অপশন ব্যবহারকারীকে ঐ আর্গুমেন্টটি প্রদান করতে স্বাধীনতা দেয়। এই দুটি অপশন ব্যবহার করার মাধ্যমে আপনি আপনার কমান্ড লাইন অ্যাপ্লিকেশনকে আরো ফ্লেক্সিবল এবং ব্যবহারকারীর জন্য সুবিধাজনক করে তুলতে পারেন।


Content added By
Promotion

Are you sure to start over?

Loading...