Skill

Boon এর Data Validation এবং Type Conversion

বুন (Boon) - Java Technologies

322

Boon একটি দ্রুত এবং কার্যকর JSON প্রক্রিয়াকরণ লাইব্রেরি, যা শুধুমাত্র JSON ডেটা পার্সিং এবং রাইটিং এর জন্যই নয়, বরং ডেটা ভ্যালিডেশন (Data Validation) এবং টাইপ কনভার্শন (Type Conversion) এর জন্যও বেশ কার্যকরী। ডেটা ভ্যালিডেশন এবং টাইপ কনভার্শন অনেক সময় ডেভেলপারদের জন্য জটিল এবং সময়সাপেক্ষ হতে পারে, তবে Boon এর সরল এবং দ্রুত API-এর মাধ্যমে এগুলি সহজভাবে করা যায়।

এটি JSON ডেটা বা অন্যান্য ডেটা টাইপকে একে অপরের মধ্যে রূপান্তর করতে এবং ভ্যালিডেশন করতে সাহায্য করে, যা ডেটার সঠিকতা এবং মান নিশ্চিত করতে সহায়ক।


Data Validation in Boon

Boon একটি সহজ এবং কার্যকরী Data Validation API সরবরাহ করে। এটি ডেটা ভ্যালিডেশন সম্পাদন করতে কিছু পদ্ধতি প্রদান করে, যা ব্যবহারকারীদের দ্রুত এবং সহজভাবে ইনপুট ডেটা যাচাই করতে সহায়তা করে।

  1. Validators.isNotNull()
    এই পদ্ধতিটি একটি ডেটাকে যাচাই করে যে এটি null নয় এবং একটি নির্দিষ্ট মান ধারণ করছে।

    উদাহরণ:

    import org.boon.validation.Validators;
    
    public class BoonDataValidationExample {
        public static void main(String[] args) {
            String name = "John Doe";
    
            // যাচাই করা যে নামটি null নয়
            if (Validators.isNotNull(name)) {
                System.out.println("Name is valid.");
            } else {
                System.out.println("Name is null.");
            }
        }
    }
    

    আউটপুট:

    Name is valid.
    
  2. Validators.isNotEmpty()
    এটি স্ট্রিংয়ের মধ্যে ডেটার উপস্থিতি যাচাই করে এবং এটি খালি না হলে সঠিক বলে গণ্য করা হয়।

    উদাহরণ:

    import org.boon.validation.Validators;
    
    public class BoonNotEmptyValidationExample {
        public static void main(String[] args) {
            String email = "john.doe@example.com";
    
            // যাচাই করা যে ইমেইল ফিল্ডটি খালি নয়
            if (Validators.isNotEmpty(email)) {
                System.out.println("Email is valid.");
            } else {
                System.out.println("Email is empty.");
            }
        }
    }
    

    আউটপুট:

    Email is valid.
    
  3. Validators.isEmail()
    Boon ইমেইল ঠিকানার ফর্ম্যাট যাচাই করার জন্যও একটি পদ্ধতি সরবরাহ করে। এটি ইমেইল ঠিকানাটি বৈধ কি না তা পরীক্ষা করে।

    উদাহরণ:

    import org.boon.validation.Validators;
    
    public class BoonEmailValidationExample {
        public static void main(String[] args) {
            String email = "john.doe@example.com";
    
            // ইমেইল ঠিকানা যাচাই করা
            if (Validators.isEmail(email)) {
                System.out.println("Email is valid.");
            } else {
                System.out.println("Email is invalid.");
            }
        }
    }
    

    আউটপুট:

    Email is valid.
    

Type Conversion in Boon

Boon টাইপ কনভার্শনের জন্য সহজ এবং কার্যকর পদ্ধতি সরবরাহ করে। এটি বিভিন্ন ধরনের ডেটা (যেমন স্ট্রিং, ইন্টিজার, ডেটা টাইপ) মধ্যে দ্রুত রূপান্তর করতে সহায়ক। টাইপ কনভার্শন সাধারণত JSON ডেটা এবং Java object এর মধ্যে পরিবর্তন করতে ব্যবহৃত হয়।

  1. Boons.convert()
    এই পদ্ধতিটি একটি ডেটা টাইপকে অন্য টাইপে রূপান্তর করার জন্য ব্যবহৃত হয়।

    উদাহরণ:

    import org.boon.Boons;
    
    public class BoonTypeConversionExample {
        public static void main(String[] args) {
            String numberString = "123";
    
            // String কে Integer-এ রূপান্তর করা
            Integer number = Boons.convert(numberString, Integer.class);
            System.out.println("Converted Number: " + number);
        }
    }
    

    আউটপুট:

    Converted Number: 123
    
  2. Boons.convertToString()
    এই পদ্ধতিটি অন্য কোনো ডেটা টাইপকে স্ট্রিং টাইপে রূপান্তর করতে ব্যবহৃত হয়।

    উদাহরণ:

    import org.boon.Boons;
    
    public class BoonConvertToStringExample {
        public static void main(String[] args) {
            Integer number = 123;
    
            // Integer কে String-এ রূপান্তর করা
            String numberString = Boons.convertToString(number);
            System.out.println("Converted String: " + numberString);
        }
    }
    

    আউটপুট:

    Converted String: 123
    
  3. Boons.convertToMap()
    এই পদ্ধতিটি JSON বা অন্য কোনো ফরম্যাট থেকে Map এ রূপান্তর করার জন্য ব্যবহৃত হয়।

    উদাহরণ:

    import org.boon.Boons;
    import java.util.Map;
    
    public class BoonConvertToMapExample {
        public static void main(String[] args) {
            String json = "{\"name\":\"John\", \"age\":30}";
    
            // JSON স্ট্রিং কে Map-এ রূপান্তর করা
            Map<String, Object> map = Boons.convertToMap(json);
            System.out.println("Converted Map: " + map);
        }
    }
    

    আউটপুট:

    Converted Map: {name=John, age=30}
    

Boon লাইব্রেরি Data Validation এবং Type Conversion-এর জন্য অত্যন্ত শক্তিশালী এবং সহজ-to-use ফিচার সরবরাহ করে। এর Validators ক্লাস ডেটার ভ্যালিডেশন সম্পাদন করতে সহজ এবং দ্রুত পদ্ধতি প্রদান করে, যা স্ট্রিং, ইমেইল, নাম্বার ইত্যাদির ভ্যালিডেশন করতে ব্যবহৃত হয়। এছাড়া, Boon টাইপ কনভার্শনের জন্যও কার্যকর মেথড সরবরাহ করে, যা ডেটাকে এক টাইপ থেকে অন্য টাইপে রূপান্তর করতে সাহায্য করে। Boon এর এই বৈশিষ্ট্যগুলি Java অ্যাপ্লিকেশনগুলির ডেটা প্রক্রিয়াকরণ এবং পরিচালনায় অনেক সুবিধা প্রদান করে।

Content added By

Boon JSON পার্সিং লাইব্রেরি ব্যবহার করে ডেটার জন্য কাস্টম ভ্যালিডেশন রুলস সেট করা সম্ভব, যা নিশ্চিত করে যে JSON ডেটা একটি নির্দিষ্ট কাঠামো এবং শর্ত অনুসারে থাকে। JSON ডেটা বৈধ কিনা তা যাচাই করতে বিভিন্ন ভ্যালিডেশন মেকানিজম ব্যবহার করা যেতে পারে, যেমন ম্যানুয়াল ভ্যালিডেশন, কাস্টম রুলস, বা শর্তভিত্তিক পরীক্ষা। এই প্রক্রিয়া অ্যাপ্লিকেশন ডেটার স্বচ্ছতা এবং সঠিকতা নিশ্চিত করতে সহায়ক হয়।

Boon সরাসরি JSON ভ্যালিডেশন এর জন্য কোন বিশেষ API সরবরাহ না করলেও, Java এর অন্যান্য ফিচার এবং Boon এর পার্সিং ক্ষমতা ব্যবহার করে আপনি কাস্টম ভ্যালিডেশন রুলস তৈরি করতে পারেন।


Boon এর JSON ডেটার জন্য ভ্যালিডেশন রুলস সেট করার উপায়

Boon এর JSON পার্সিং ব্যবস্থার মধ্যে কাস্টম ভ্যালিডেশন রুলস সেট করার জন্য, আপনাকে JSON ডেটা লোড করার পর সেই ডেটার বিভিন্ন অংশের উপর শর্তাবলী প্রয়োগ করতে হবে। এখানে কিভাবে JSON ডেটা ভ্যালিডেশন করতে হয়, সে সম্পর্কে কিছু উদাহরণ দেওয়া হলো।


1. বেসিক JSON ভ্যালিডেশন উদাহরণ

এখানে একটি উদাহরণ দেয়া হলো যেখানে Boon ব্যবহার করে JSON ডেটা পার্স করা হয়েছে এবং তারপর কিছু সিম্পল ভ্যালিডেশন করা হয়েছে।

JSON ফাইল (config.json)

{
  "username": "john_doe",
  "age": 28,
  "email": "john.doe@example.com"
}

Java কোড: JSON ভ্যালিডেশন

import boon.JSONFactory;
import java.util.regex.Pattern;

public class JsonValidationExample {
    public static void main(String[] args) {
        // JSON ফাইল থেকে ডেটা লোড করা
        String json = "{\"username\":\"john_doe\", \"age\":28, \"email\":\"john.doe@example.com\"}";

        // JSON অবজেক্টে ডেটা লোড করা
        Person person = JSONFactory.fromJson(json, Person.class);

        // ভ্যালিডেশন চেক করা
        if (validatePerson(person)) {
            System.out.println("Valid person data!");
        } else {
            System.out.println("Invalid person data.");
        }
    }

    // ভ্যালিডেশন রুলস সেট করা
    public static boolean validatePerson(Person person) {
        if (person.username == null || person.username.isEmpty()) {
            System.out.println("Username is required.");
            return false;
        }
        
        if (person.age <= 0 || person.age > 120) {
            System.out.println("Invalid age.");
            return false;
        }

        if (!isValidEmail(person.email)) {
            System.out.println("Invalid email.");
            return false;
        }

        return true;
    }

    // ইমেইল ভ্যালিডেশন
    public static boolean isValidEmail(String email) {
        String emailRegex = "^[A-Za-z0-9+_.-]+@(.+)$";
        Pattern pattern = Pattern.compile(emailRegex);
        return pattern.matcher(email).matches();
    }
}

// Person ক্লাস
class Person {
    String username;
    int age;
    String email;
}

ব্যাখ্যা:

  1. কাস্টম ভ্যালিডেশন:
    • validatePerson() মেথডে কিছু শর্ত দেওয়া হয়েছে, যেমন username ফিল্ডটি ফাঁকা হতে পারবে না, age 0 বা 120 এর বাইরে হতে পারবে না, এবং email ফিল্ডটি একটি সঠিক ফরম্যাটে থাকতে হবে।
  2. ইমেইল ভ্যালিডেশন:
    • isValidEmail() মেথডে একটি সাধারন রেগুলার এক্সপ্রেশন ব্যবহার করা হয়েছে যা ইমেইল ফরম্যাট যাচাই করে।
  3. ভ্যালিডেশন ফলাফল:
    • যদি সব শর্ত পূর্ণ হয়, তাহলে "Valid person data!" মেসেজটি প্রিন্ট হবে, অন্যথায় কোনো একটি শর্ত ভাঙলে সংশ্লিষ্ট ত্রুটি বার্তা প্রিন্ট হবে।

2. JSON ডেটা অবজেক্টের উপর কাস্টম কনস্ট্রেইন্টস প্রয়োগ

Boon এ JSON ডেটার প্রতিটি ফিল্ডে কাস্টম কনস্ট্রেইন্টস (যেমন ম্যান্ডেটরি, রেঞ্জ চেক, বা প্যাটার্ন চেক) প্রয়োগ করার জন্য আপনি কাস্টম লজিক ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি age ফিল্ডের জন্য একটি রেঞ্জ চেক বা username ফিল্ডের জন্য আলফানিউমেরিক চেক প্রয়োগ করতে পারেন।

উদাহরণ: কাস্টম কনস্ট্রেইন্টস

public static boolean validateUsername(String username) {
    if (username == null || username.length() < 5) {
        System.out.println("Username must be at least 5 characters long.");
        return false;
    }
    return true;
}

এখানে, username ফিল্ডের জন্য একটি কাস্টম কনস্ট্রেইন্ট যোগ করা হয়েছে যা নিশ্চিত করে যে username কমপক্ষে ৫ অক্ষরের হবে।


3. JSON স্কিমা ব্যবহার করে ভ্যালিডেশন

যদি আপনি JSON ডেটার কাঠামো এবং টাইপ সঠিকভাবে চেক করতে চান, তবে আপনি JSON স্কিমা ব্যবহার করে ভ্যালিডেশন করতে পারেন। Boon সরাসরি JSON স্কিমা ভ্যালিডেশন সাপোর্ট না করলেও, আপনি অতিরিক্ত লাইব্রেরি যেমন json-schema-validator ব্যবহার করে JSON স্কিমা অনুযায়ী ডেটার ভ্যালিডেশন করতে পারেন।


Boon এর মাধ্যমে JSON ডেটার জন্য কাস্টম ভ্যালিডেশন রুলস তৈরি করা সম্ভব এবং এটি অনেক সহজ এবং কার্যকরী। আপনি বিভিন্ন ফিল্ডে ভ্যালিডেশন প্রয়োগ করতে পারেন, যেমন ফিল্ডের উপস্থিতি যাচাই করা, নির্দিষ্ট রেঞ্জের মধ্যে থাকা বা রেগুলার এক্সপ্রেশন ব্যবহার করে প্যাটার্ন চেক করা। JSON ডেটা ভ্যালিডেশন নিশ্চিত করে যে আপনার অ্যাপ্লিকেশনের ইনপুট ডেটা সঠিক এবং প্রত্যাশিত ফরম্যাটে রয়েছে, যা অ্যাপ্লিকেশনের স্থিতিশীলতা এবং সুরক্ষা উন্নত করে।

Content added By

Boon এর Type Conversion Mechanism কি?

Boon লাইব্রেরি Java অবজেক্ট এবং JSON ডাটার মধ্যে টাইপ কনভার্সন (Type Conversion) করার জন্য একটি শক্তিশালী এবং সহজ প্রক্রিয়া প্রদান করে। এটি JSON ডাটা এবং Java অবজেক্টের মধ্যে ডাটা আদান-প্রদানকে দ্রুত এবং কার্যকরীভাবে সম্পাদন করতে সক্ষম। Boon এর Type Conversion Mechanism মূলত JSON ফরম্যাটের ডাটাকে Java ক্লাসে কনভার্ট (ডেসিরিয়ালাইজেশন) এবং Java অবজেক্টকে JSON ফরম্যাটে রূপান্তর (সিরিয়ালাইজেশন) করার জন্য ব্যবহৃত হয়।

Boon লাইব্রেরি ডাটা কনভার্সন প্রক্রিয়াকে সরল এবং দ্রুত করে তোলে, বিশেষ করে JSON ডাটা এবং Java অবজেক্টের মধ্যে টাইপ কনভার্সন করার জন্য। Boon এর মাধ্যমে আপনি JSON থেকে সহজেই Java অবজেক্টে রূপান্তর করতে পারেন এবং Java অবজেক্টকে JSON এ রূপান্তর করতে পারেন।


Boon এর Type Conversion Process

Boon এর টাইপ কনভার্সন মূলত দুটি প্রধান অংশে বিভক্ত:

  1. Java অবজেক্ট থেকে JSON এ রূপান্তর (Serialization)
  2. JSON থেকে Java অবজেক্টে রূপান্তর (Deserialization)

1. Java অবজেক্ট থেকে JSON এ রূপান্তর (Serialization)

Boon এর Boon.toJson() মেথড ব্যবহার করে Java অবজেক্টকে JSON ফরম্যাটে রূপান্তর করা যায়। এটি সরল এবং দ্রুতভাবে Java অবজেক্টকে JSON স্ট্রিংয়ে কনভার্ট করে।

উদাহরণ: Java অবজেক্টকে JSON এ রূপান্তর

import io.boon.Boon;
import io.boon.json.JsonObject;

public class JavaToJsonExample {
    public static void main(String[] args) {
        // Java অবজেক্ট তৈরি
        Person person = new Person("John", 30);
        
        // Java অবজেক্টকে JSON এ রূপান্তর
        String json = Boon.toJson(person);
        
        // JSON প্রিন্ট করা
        System.out.println(json);
    }

    // Java ক্লাস
    public static class Person {
        String name;
        int age;
        
        Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
}

এখানে, Boon.toJson() মেথড ব্যবহার করে Person অবজেক্টকে JSON স্ট্রিংয়ে রূপান্তর করা হয়েছে। ফলস্বরূপ, JSON স্ট্রিং প্রিন্ট হবে যেমন:

{"name":"John","age":30}

2. JSON থেকে Java অবজেক্টে রূপান্তর (Deserialization)

Boon এর Boon.fromJson() মেথড ব্যবহার করে JSON ডাটাকে Java অবজেক্টে রূপান্তর করা যায়। এটি JSON ফরম্যাটে পাওয়া ডাটাকে একটি নির্দিষ্ট Java ক্লাসে কনভার্ট করে।

উদাহরণ: JSON থেকে Java অবজেক্টে রূপান্তর

import io.boon.Boon;
import io.boon.json.JsonObject;

public class JsonToJavaExample {
    public static void main(String[] args) {
        // JSON ডাটা
        String json = "{\"name\":\"John\",\"age\":30}";
        
        // JSON ডাটাকে Java অবজেক্টে রূপান্তর
        Person person = Boon.fromJson(json, Person.class);
        
        // Java অবজেক্ট থেকে ডাটা প্রিন্ট করা
        System.out.println("Name: " + person.name);
        System.out.println("Age: " + person.age);
    }

    // Java ক্লাস
    public static class Person {
        String name;
        int age;
    }
}

এখানে, Boon.fromJson() মেথড ব্যবহার করে JSON ডাটা Person ক্লাসে রূপান্তরিত করা হয়েছে। JSON থেকে ডাটা বের করে প্রিন্ট করা হয়েছে:

Name: John
Age: 30

3. Complex Types এবং Nested Objects এর কনভার্সন

Boon লাইব্রেরি Nested বা Complex টাইপসের কনভার্সনও সহজভাবে পরিচালনা করতে পারে। আপনি যদি একটি ক্লাসের ভিতরে অন্য একটি ক্লাস বা তালিকা ব্যবহার করেন, তবে Boon তার কনভার্সন অটোমেটিকভাবে পরিচালনা করবে।

উদাহরণ: Nested Objects এর কনভার্সন

import io.boon.Boon;
import io.boon.json.JsonObject;
import java.util.List;

public class NestedObjectsExample {
    public static void main(String[] args) {
        // Nested Object
        Department department = new Department("HR", List.of(new Person("John", 30), new Person("Jane", 28)));
        
        // Java অবজেক্টকে JSON এ রূপান্তর
        String json = Boon.toJson(department);
        
        // JSON প্রিন্ট করা
        System.out.println(json);
    }

    // Java ক্লাস
    public static class Person {
        String name;
        int age;

        Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }

    public static class Department {
        String name;
        List<Person> employees;

        Department(String name, List<Person> employees) {
            this.name = name;
            this.employees = employees;
        }
    }
}

এই উদাহরণে, Department ক্লাসে একটি List<Person> আছে, যা Nested Object হিসাবে কাজ করছে। Boon এই Nested Object গুলোর কনভার্সন অটোমেটিকভাবে পরিচালনা করবে এবং JSON স্ট্রিং হিসেবে এটি আউটপুট করবে:

{"name":"HR","employees":[{"name":"John","age":30},{"name":"Jane","age":28}]}

4. Custom Type Conversion

Boon লাইব্রেরি কাস্টম টাইপ কনভার্সনের জন্যও সুবিধা প্রদান করে, যেখানে আপনি যদি বিশেষ কোনো কনভার্সন চান (যেমন, কোন বিশেষ ফিল্ড বা ডাটা ফরম্যাট), তবে কাস্টম সিরিয়ালাইজার বা ডেসিরিয়ালাইজার তৈরি করে তা করতে পারেন।

উদাহরণ: কাস্টম সিরিয়ালাইজেশন

import io.boon.Boon;
import io.boon.serializer.JsonSerializer;

public class CustomSerializationExample {
    public static void main(String[] args) {
        // Custom Serializer তৈরি
        JsonSerializer customSerializer = obj -> {
            if (obj instanceof Person) {
                Person person = (Person) obj;
                return "{\"full_name\":\"" + person.name + "\", \"years\": " + person.age + "}";
            }
            return null;
        };

        // Person অবজেক্ট
        Person person = new Person("John", 30);
        
        // কাস্টম সিরিয়ালাইজার ব্যবহার
        String json = customSerializer.serialize(person);
        
        System.out.println(json);
    }

    public static class Person {
        String name;
        int age;

        Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
}

এখানে, Person অবজেক্টকে কাস্টমভাবে সিরিয়ালাইজ করা হয়েছে, যেখানে name কে full_name এবং age কে years হিসেবে JSON এ রূপান্তরিত করা হয়েছে।


সারাংশ

Boon এর Type Conversion Mechanism JSON ডাটা এবং Java অবজেক্টের মধ্যে দ্রুত এবং সহজ রূপান্তর সম্পাদন করতে সক্ষম। Boon এর toJson() এবং fromJson() মেথডগুলি JSON পার্সিং এবং সিরিয়ালাইজেশন/ডেসিরিয়ালাইজেশন প্রক্রিয়া খুবই কার্যকরীভাবে পরিচালনা করে। Nested Objects, Complex Types এবং কাস্টম সিরিয়ালাইজেশনও Boon সহজভাবে পরিচালনা করতে পারে। Boon এর এই টুলসগুলি ডেভেলপারদের জন্য টাইপ কনভার্সন প্রক্রিয়াকে দ্রুত এবং ক্লিন করে তোলে।

Content added By

Boon একটি দ্রুত JSON প্রসেসিং লাইব্রেরি যা Java অ্যাপ্লিকেশনে JSON ডেটা প্রোসেসিংয়ের জন্য ব্যবহৃত হয়। মাঝে মাঝে আপনাকে JSON ডেটার কিছু নির্দিষ্ট বৈশিষ্ট্য যাচাই করার জন্য কাস্টম validators তৈরি করার প্রয়োজন হতে পারে। এ ধরনের কাস্টম validators JSON ডেটার সঠিকতা যাচাই করতে সহায়তা করে, যেমন ফিল্ডের মান সঠিক ফরম্যাটে আছে কিনা, একটি ফিল্ড অনুরোধ করা হয়েছে কিনা, বা কোনো নির্দিষ্ট শর্ত পূরণ হচ্ছে কিনা।

এই গাইডে, আমরা দেখব কিভাবে Boon লাইব্রেরি ব্যবহার করে JSON ডেটার জন্য কাস্টম validators তৈরি করা যায়।


Custom Validators কী?

Custom Validators হল এমন কোড যা JSON ডেটার মধ্যে নির্দিষ্ট শর্তগুলো যাচাই করে। আপনি একটি POJO (Plain Old Java Object) থেকে JSON ডেটা তৈরি করতে পারেন এবং তারপর এই JSON ডেটাতে প্রাসঙ্গিক শর্তগুলি যাচাই করতে পারেন। যদি কোনো শর্ত না পূর্ণ হয়, তবে আপনি একটি ত্রুটি ফেরত পাঠাতে পারেন।


Boon-এ Custom Validators তৈরি করার পদ্ধতি

Boon সরাসরি কাস্টম ভ্যালিডেশন সাপোর্ট করে না, তবে আপনি POJO ক্লাসের প্রপার্টি যাচাই করার জন্য কাস্টম validation মেথড তৈরি করতে পারেন। এখানে, আমরা দেখাবো কিভাবে JSON ডেটার জন্য কাস্টম ভ্যালিডেটর তৈরি করা যায়।


ধাপ 1: POJO ক্লাস তৈরি করা

প্রথমে একটি POJO ক্লাস তৈরি করুন যা JSON ডেটা ধারণ করবে। আমরা একটি Person ক্লাস ব্যবহার করব যেখানে age ফিল্ডটি একটি শর্ত সাপেক্ষে ভ্যালিডেট হবে।

public class Person {
    private String name;
    private int age;

    // Constructor
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter and Setter Methods
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    // কাস্টম ভ্যালিডেটর মেথড
    public boolean isValid() {
        // যদি বয়স 18 এর নিচে থাকে তবে এটি একটি ভ্যালিড নয়
        if (this.age < 18) {
            System.out.println("Age must be at least 18.");
            return false;
        }
        return true;
    }
}

এখানে, isValid() মেথডটি age ফিল্ডটি যাচাই করছে। যদি বয়স 18 এর কম হয়, তবে এটি ত্রুটি বার্তা প্রদর্শন করবে এবং false ফেরত দেবে।


ধাপ 2: JSON তৈরি এবং কাস্টম ভ্যালিডেশন প্রয়োগ করা

এখন, আমরা Boon ব্যবহার করে Person অবজেক্ট থেকে JSON তৈরি করব এবং সেই JSON ডেটার কাস্টম ভ্যালিডেশন পরীক্ষা করব।

import org.boon.Boon;

public class CustomValidationExample {
    public static void main(String[] args) {
        // POJO অবজেক্ট তৈরি
        Person person = new Person("John Doe", 17); // বয়স 17

        // JSON তৈরি
        String json = Boon.toJson(person);
        System.out.println("Generated JSON: " + json);

        // কাস্টম ভ্যালিডেশন প্রয়োগ করা
        if (!person.isValid()) {
            System.out.println("Validation failed. Invalid person data.");
        } else {
            System.out.println("Validation passed.");
        }
    }
}

এখানে, Boon.toJson() ব্যবহার করে Person অবজেক্ট থেকে JSON তৈরি করা হচ্ছে এবং তারপর isValid() মেথড দিয়ে কাস্টম ভ্যালিডেশন করা হচ্ছে।

আউটপুট:

Generated JSON: {"name":"John Doe","age":17}
Age must be at least 18.
Validation failed. Invalid person data.

ধাপ 3: JSON ডেটার জন্য আরো জটিল কাস্টম ভ্যালিডেশন

ধরা যাক, আপনি চাইছেন কিছু প্রপার্টি শুধুমাত্র নির্দিষ্ট ফরম্যাটে (যেমন ইমেইল বা ফোন নাম্বার) থাকতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে email প্রপার্টির জন্য কাস্টম ফরম্যাট ভ্যালিডেশন প্রয়োগ করা হয়েছে।

public class Contact {
    private String email;
    private String phoneNumber;

    // Constructor
    public Contact(String email, String phoneNumber) {
        this.email = email;
        this.phoneNumber = phoneNumber;
    }

    // Getter and Setter Methods
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    // কাস্টম ভ্যালিডেটর মেথড
    public boolean isValid() {
        if (this.email == null || !this.email.contains("@")) {
            System.out.println("Invalid email format.");
            return false;
        }

        if (this.phoneNumber == null || !this.phoneNumber.matches("\\d{10}")) {
            System.out.println("Invalid phone number. Must be 10 digits.");
            return false;
        }

        return true;
    }
}

এখানে, email প্রপার্টির জন্য চেক করা হচ্ছে এটি একটি সঠিক ইমেইল ফরম্যাটে আছে কি না এবং phoneNumber প্রপার্টির জন্য চেক করা হচ্ছে এটি 10 ডিজিটের কিনা।


ধাপ 4: কাস্টম ভ্যালিডেশন প্রয়োগ করা

import org.boon.Boon;

public class CustomValidationWithFormat {
    public static void main(String[] args) {
        // POJO অবজেক্ট তৈরি
        Contact contact = new Contact("john.doeexample.com", "12345"); // ভুল ইমেইল এবং ফোন নাম্বার

        // JSON তৈরি
        String json = Boon.toJson(contact);
        System.out.println("Generated JSON: " + json);

        // কাস্টম ভ্যালিডেশন প্রয়োগ করা
        if (!contact.isValid()) {
            System.out.println("Validation failed. Invalid contact data.");
        } else {
            System.out.println("Validation passed.");
        }
    }
}

আউটপুট:

Generated JSON: {"email":"john.doeexample.com","phoneNumber":"12345"}
Invalid email format.
Invalid phone number. Must be 10 digits.
Validation failed. Invalid contact data.

সারাংশ

Boon লাইব্রেরি ব্যবহার করে JSON ডেটার জন্য কাস্টম ভ্যালিডেটর তৈরি করা সহজ। আপনি POJO ক্লাসের মধ্যে validation মেথড তৈরি করতে পারেন, যেগুলি JSON ডেটার শর্ত বা ফরম্যাট যাচাই করতে সাহায্য করে। এই কাস্টম ভ্যালিডেটরগুলির মাধ্যমে আপনি JSON ডেটার সঠিকতা এবং মান নিশ্চিত করতে পারেন, যা আপনার অ্যাপ্লিকেশনের স্থিতিশীলতা এবং নির্ভরযোগ্যতা বৃদ্ধি করবে।


Content added By
Promotion

Are you sure to start over?

Loading...