Conditional Operators ( ? : )

Arithmetic Operators ( +, -, *, /, % ) - স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (Spring Expression Language) - Java Technologies

278

SpEL Conditional Operators (Ternary Operator) কী?

স্প্রিং এক্সপ্রেশন ল্যাঙ্গুয়েজ (SpEL) এ Conditional Operator বা Ternary Operator হল একটি সহজ উপায় যার মাধ্যমে শর্তের ভিত্তিতে দুটি ভিন্ন মানের মধ্যে একটি নির্বাচন করা হয়। এটি একটি if-else শর্তের মতো কাজ করে, তবে এটি আরও সংক্ষিপ্ত এবং এক লাইনে লিখতে সহায়ক।

SpEL এর ? : অপারেটরকে Ternary Operator বা Conditional Operator বলা হয় এবং এটি condition ? value_if_true : value_if_false ফরম্যাটে ব্যবহৃত হয়। এই অপারেটরটি একটি শর্তের ভিত্তিতে দুটি মানের মধ্যে একটি নির্বাচন করতে ব্যবহৃত হয়।


Conditional Operator এর গঠন

condition ? value_if_true : value_if_false
  • condition: যেটি যাচাই করা হবে। এটি একটি বুলিয়ান এক্সপ্রেশন হতে পারে যা true অথবা false রিটার্ন করে।
  • value_if_true: যদি শর্ত সত্য (true) হয়, তবে এই মানটি রিটার্ন করা হবে।
  • value_if_false: যদি শর্ত মিথ্যা (false) হয়, তবে এই মানটি রিটার্ন করা হবে।

SpEL এ Conditional Operator ব্যবহার

১. সরল উদাহরণ

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class GreetingService {

    @Value("#{ 10 > 5 ? 'Greater than 5' : 'Less than or equal to 5' }")
    private String message;

    public String getMessage() {
        return message;
    }
}

ব্যাখ্যা:

  • 10 > 5 ? 'Greater than 5' : 'Less than or equal to 5': এই SpEL এক্সপ্রেশনটি যাচাই করবে যে ১০ বড় কি ৫ এর থেকে। যদি সত্যি হয়, তবে 'Greater than 5' রিটার্ন হবে, অন্যথায় 'Less than or equal to 5' রিটার্ন হবে।
  • message ভেরিয়েবলটি 'Greater than 5' এর মান গ্রহণ করবে, কারণ ১০ সত্যিই ৫ এর চেয়ে বড়।

২. স্প্রিং কনফিগারেশন ফাইলে SpEL Conditional ব্যবহার

SpEL ব্যবহার করে স্প্রিং কনফিগারেশন ফাইলে শর্তাধীন মান নির্ধারণ করা যেতে পারে। নিচে একটি উদাহরণ দেওয়া হলো:

<bean id="greetingService" class="com.example.GreetingService">
    <property name="message" value="#{systemProperties['os.name'].contains('Windows') ? 'Hello Windows User!' : 'Hello Unix User!'}"/>
</bean>

ব্যাখ্যা:

  • systemProperties['os.name'].contains('Windows'): এই শর্তটি চেক করবে যদি os.name প্রোপার্টি 'Windows' শব্দটি ধারণ করে।
  • যদি শর্তটি সত্য হয়, তাহলে 'Hello Windows User!' রিটার্ন হবে, অন্যথায় 'Hello Unix User!' রিটার্ন হবে।

৩. ব্যবহারকারী ইনপুটের উপর ভিত্তি করে শর্ত নির্বাচন

<bean id="userService" class="com.example.UserService">
    <property name="userStatus" value="#{user.age >= 18 ? 'Adult' : 'Minor'}"/>
</bean>

ব্যাখ্যা:

  • user.age >= 18 ? 'Adult' : 'Minor': এটি ব্যবহারকারীর বয়স চেক করবে। যদি বয়স ১৮ বা তার বেশি হয়, তাহলে 'Adult' রিটার্ন করবে, অন্যথায় 'Minor' রিটার্ন করবে।

SpEL এর Conditional Operators এর উদাহরণ

  1. সরল শর্ত:

    "#{2 + 2 == 4 ? 'True' : 'False'}"
    

    এই এক্সপ্রেশনটি True রিটার্ন করবে, কারণ শর্তটি সত্যি।

  2. বিভিন্ন ধরনের শর্ত:

    "#{user.name == 'John' ? 'Hello, John!' : 'Hello, Guest!'}"
    

    যদি user.name এর মান 'John' হয়, তাহলে এটি 'Hello, John!' রিটার্ন করবে, অন্যথায় 'Hello, Guest!' রিটার্ন হবে।

  3. বুলিয়ান শর্ত:

    "#{true ? 'Yes' : 'No'}"
    

    এটি 'Yes' রিটার্ন করবে, কারণ শর্তটি সত্য।

  4. নম্বর শর্ত:

    "#{age > 18 ? 'Eligible' : 'Not Eligible'}"
    

    যদি age ১৮ এর বেশি হয়, তাহলে 'Eligible' রিটার্ন হবে, অন্যথায় 'Not Eligible' রিটার্ন হবে।


SpEL এর Conditional Operator ব্যবহার করার সুবিধা

  1. সংক্ষিপ্ততা: SpEL এর মাধ্যমে আপনি শর্তের ভিত্তিতে দ্রুত মান পরিবর্তন করতে পারেন। এটি কোডটিকে ছোট, পরিষ্কার, এবং আরও পাঠযোগ্য করে তোলে।
  2. ডাইনামিক কনফিগারেশন: স্প্রিং কনফিগারেশন ফাইলে SpEL এর মাধ্যমে শর্তানুযায়ী বিভিন্ন মান নির্বাচন করা যায়।
  3. পারফরম্যান্স: SpEL শর্তের মাধ্যমে এক্সপ্রেশন দ্রুত এবং কার্যকরভাবে প্রক্রিয়া করা সম্ভব, যা কোডে লজিক্যাল অপারেশন সহজ করে।

সারাংশ

SpEL এর Conditional Operator বা Ternary Operator শর্তের ভিত্তিতে দুটি মানের মধ্যে একটি নির্বাচন করতে ব্যবহৃত হয়। এটি condition ? value_if_true : value_if_false ফরম্যাটে কাজ করে এবং কোডের মধ্যে সহজ শর্তানুযায়ী মান নির্বাচন করতে সাহায্য করে। SpEL এর এই অপারেটরটি স্প্রিং কনফিগারেশন ফাইল, সার্ভিস, এবং অন্যান্য স্প্রিং অ্যাপ্লিকেশন অ্যাক্টিভিটির মধ্যে ডাইনামিক কনফিগারেশন এবং লজিক প্রয়োগে খুবই কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...