Apache Commons CLI কি?

Apache Commons CLI এর পরিচিতি - অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) - Java Technologies

208

Apache Commons CLI (Command Line Interface) হল একটি ওপেন-সোর্স Java লাইব্রেরি, যা কমান্ড-লাইন অপশন বা আর্গুমেন্টের পার্সিং এবং হ্যান্ডলিংয়ের জন্য ব্যবহৃত হয়। এটি অ্যাপ্লিকেশনগুলিতে কমান্ড-লাইন আর্গুমেন্টগুলি প্রক্রিয়া করার জন্য একটি সোজা, নমনীয়, এবং শক্তিশালী উপায় প্রদান করে। কমান্ড-লাইন আর্গুমেন্টগুলির মাধ্যমে ইউজার অ্যাপ্লিকেশনটি নিয়ন্ত্রণ করতে পারে, যেমন কনফিগারেশন অপশন প্রদান, ফাইল ইনপুট আউটপুট, ডিবাগিং এবং অন্যান্য ফিচার অ্যাক্সেস করা।

Apache Commons CLI এর বৈশিষ্ট্য:

  1. কমান্ড-লাইন আর্গুমেন্ট পার্সিং: ব্যবহারকারীরা কমান্ড-লাইন থেকে আর্গুমেন্ট দিয়ে অ্যাপ্লিকেশনটি কনফিগার এবং নিয়ন্ত্রণ করতে পারেন। Apache Commons CLI এই আর্গুমেন্টগুলো সহজে পার্স করতে সহায়তা করে।
  2. অপশন এবং আর্গুমেন্ট সেটআপ: এটি ইউজার থেকে ইনপুট গ্রহণের জন্য বিভিন্ন ধরনের অপশন যেমন স্বল্প ও দীর্ঘ অপশন (short and long options), অপশন সহ বা ছাড়া আর্গুমেন্ট (optional or required arguments) সাপোর্ট করে।
  3. বিভিন্ন ধরণের অপশন সমর্থন: এটি স্বল্প আকারের অপশন (e.g., -h), দীর্ঘ আকারের অপশন (e.g., --help), এবং প্যারামিটার সহ অপশন (e.g., -f filename or --file filename) সমর্থন করে।
  4. প্যারামিটার হ্যান্ডলিং: Apache Commons CLI ব্যবহারকারী থেকে প্যারামিটার গ্রহণ এবং প্রক্রিয়া করতে খুব সহজ করে তোলে।
  5. ইনবিল্ট ভ্যালিডেশন: CLI আর্গুমেন্টগুলির জন্য ইনবিল্ট ভ্যালিডেশন মেকানিজম রয়েছে যা ভুল বা অসম্পূর্ণ ইনপুট সনাক্ত করতে সাহায্য করে।
  6. অফিশিয়াল ডকুমেন্টেশন ও সাপোর্ট: Apache Commons CLI একটি প্রমিনেন্ট লাইব্রেরি হওয়ায়, এটি ভালো ডকুমেন্টেশন এবং সমর্থন পেয়ে থাকে।

Apache Commons CLI এর ব্যবহার

Apache Commons CLI লাইব্রেরি ব্যবহার করে একটি সাধারণ কমান্ড-লাইন ইন্টারফেস অ্যাপ্লিকেশন তৈরি করা যেতে পারে। এখানে একটি উদাহরণ দেওয়া হলো যেখানে CLI এর মাধ্যমে কিছু অপশন এবং আর্গুমেন্ট পার্স করা হচ্ছে।

১. Maven Dependency:

প্রথমে, Maven প্রোজেক্টে Apache Commons CLI যুক্ত করতে pom.xml ফাইলে নিচের ডিপেন্ডেন্সি যুক্ত করুন:

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

২. Apache Commons CLI ব্যবহার করে কমান্ড-লাইন অপশন পার্সিং:

import org.apache.commons.cli.*;

public class CliExample {

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

        // অপশন যোগ করা
        Option helpOption = new Option("h", "help", false, "Show help message");
        options.addOption(helpOption);

        Option fileOption = new Option("f", "file", true, "Input file name");
        options.addOption(fileOption);

        // কমান্ড-লাইন আর্গুমেন্ট পার্সিং
        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null;
        try {
            cmd = parser.parse(options, args);

            // হেল্প অপশন চেক করা
            if (cmd.hasOption("h")) {
                HelpFormatter formatter = new HelpFormatter();
                formatter.printHelp("CLI Application", options);
                return;
            }

            // ফাইল অপশন চেক করা
            if (cmd.hasOption("f")) {
                String fileName = cmd.getOptionValue("f");
                System.out.println("File to process: " + fileName);
            }
        } catch (ParseException e) {
            System.err.println("Parsing failed: " + e.getMessage());
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("CLI Application", options);
        }
    }
}

ব্যাখ্যা:

  1. Options Object: প্রথমে Options অবজেক্ট তৈরি করা হয় যা কমান্ড-লাইন অপশনগুলোর কনফিগারেশন ধারণ করে।
  2. Option Object: Option অবজেক্ট ব্যবহার করে অপশন তৈরি করা হয়, যেমন -h বা -f। এখানে -h হেল্প অপশন, এবং -f ফাইল অপশন।
  3. CommandLineParser: CommandLineParser ক্লাসের মাধ্যমে অপশনগুলি পার্স করা হয়। এখানে DefaultParser ব্যবহার করা হয়েছে।
  4. HelpFormatter: যখন হেল্প অপশন (-h) নির্বাচন করা হয়, তখন HelpFormatter ব্যবহার করে একটি হেল্প মেসেজ প্রদর্শন করা হয়।
  5. Command Line Argument Retrieval: যখন একটি অপশন নির্বাচন করা হয়, যেমন -f, তখন cmd.getOptionValue() পদ্ধতিটি সেই অপশনের মান (যেমন ফাইলের নাম) ফেরত দেয়।

আউটপুট:

কমান্ডের আর্গুমেন্টের উপর ভিত্তি করে, আউটপুটটি ভিন্ন হতে পারে:

  • যদি আপনি -h অপশন ব্যবহার করেন:

    java CliExample -h
    

    আউটপুট:

    CLI Application [options]
    
    Options:
     -h,--help        Show help message
     -f,--file <file>  Input file name
    
  • যদি আপনি -f অপশন ব্যবহার করেন:

    java CliExample -f input.txt
    

    আউটপুট:

    File to process: input.txt
    

সারাংশ

Apache Commons CLI হল একটি শক্তিশালী এবং নমনীয় লাইব্রেরি যা Java অ্যাপ্লিকেশনগুলিতে কমান্ড-লাইন আর্গুমেন্ট প্রোসেসিং এবং অপশন পার্সিংয়ের জন্য ব্যবহৃত হয়। এটি কমান্ড-লাইন থেকে ইনপুট গ্রহণের জন্য বিভিন্ন অপশন এবং আর্গুমেন্টের মাধ্যমে কাস্টমাইজ করা যায়, এবং ইনপুট ভ্যালিডেশন ও সহায়ক হেল্প মেসেজও সরবরাহ করে। Apache Commons CLI ব্যবহার করে কমান্ড-লাইন ভিত্তিক Java অ্যাপ্লিকেশনগুলি তৈরি করা সহজ এবং কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...