Boon হল একটি দ্রুত JSON প্রসেসিং লাইব্রেরি যা Java অ্যাপ্লিকেশনগুলিতে JSON সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন কার্যকরীভাবে সম্পন্ন করতে ব্যবহৃত হয়। তবে কখনও কখনও আমাদের নির্দিষ্ট কাস্টমাইজড সিরিয়ালাইজেশন প্রয়োজন হতে পারে, যেমন কিছু বিশেষ প্রপার্টি সিরিয়ালাইজ না করা বা কিছু ডেটা ফরম্যাটে রূপান্তর করা। Boon কাস্টম serialization এবং deserialization কনফিগার করার জন্য বিভিন্ন উপায় সরবরাহ করে।
এই গাইডে আমরা দেখব কিভাবে Boon লাইব্রেরি ব্যবহার করে কাস্টম সিরিয়ালাইজেশন কনফিগার করা যায়।
Custom Serialization কী?
Custom Serialization হল একটি প্রক্রিয়া যেখানে আপনি কিভাবে আপনার Java অবজেক্ট JSON ফরম্যাটে রূপান্তর হবে এবং কীভাবে সেটি পুনরায় Java অবজেক্টে ফিরবে, তা নিয়ন্ত্রণ করতে পারেন। এই প্রক্রিয়ায় আপনি কোনো নির্দিষ্ট প্রপার্টি সিরিয়ালাইজ না করার জন্য অথবা কিছু ডেটাকে বিশেষভাবে প্রসেস করার জন্য কাস্টম কনফিগারেশন তৈরি করতে পারেন।
Boon-এ Custom Serialization কনফিগার করা
Boon-এ custom serialization কনফিগার করতে, আপনি দুটি প্রধান পদ্ধতি ব্যবহার করতে পারেন:
Boon.toJson()মেথডে কাস্টম সিরিয়ালাইজার ব্যবহার।@BoonSerializeএনোটেশন ব্যবহার।
ধাপ 1: Boon-এ Custom Serialization কনফিগার করতে Boon.toJson() ব্যবহার
এখানে, আপনি Boon.toJson() মেথড ব্যবহার করে কাস্টম সিরিয়ালাইজেশন কনফিগার করতে পারেন। উদাহরণস্বরূপ, আপনি যদি চান কিছু প্রপার্টি শুধুমাত্র নির্দিষ্ট শর্তে সিরিয়ালাইজ হোক, তবে আপনি একটি কাস্টম Serializer ক্লাস তৈরি করতে পারেন।
import org.boon.Boon;
import org.boon.serializer.Serializer;
public class CustomSerializationExample {
public static void main(String[] args) {
// POJO অবজেক্ট তৈরি
Person person = new Person("John", 30);
// কাস্টম সিরিয়ালাইজার তৈরি
Serializer customSerializer = new Serializer() {
@Override
public String serialize(Object obj) {
if (obj instanceof Person) {
Person p = (Person) obj;
// কাস্টম ফরম্যাটে JSON তৈরি
return "{\"fullName\":\"" + p.getName() + "\",\"age\":" + p.getAge() + "}";
}
return Boon.toJson(obj);
}
};
// কাস্টম সিরিয়ালাইজার ব্যবহার করে JSON তৈরি
String json = customSerializer.serialize(person);
// JSON আউটপুট
System.out.println(json);
}
static class Person {
private String name;
private int age;
// Constructor, Getter and Setter
public Person(String name, int age) {
this.name = name;
this.age = age;
}
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;
}
}
}
এখানে, আমরা Person অবজেক্টের কাস্টম সিরিয়ালাইজেশন তৈরি করেছি, যেখানে name প্রপার্টিটি fullName হিসেবে সিরিয়ালাইজ হচ্ছে।
আউটপুট:
{"fullName":"John","age":30}
ধাপ 2: @BoonSerialize এনোটেশন ব্যবহার করা
Boon লাইব্রেরি @BoonSerialize এনোটেশন সমর্থন করে, যা নির্দিষ্ট ক্লাস বা প্রপার্টি কাস্টম সিরিয়ালাইজেশন পরিচালনা করতে সহায়তা করে। আপনি এটি ব্যবহার করে আপনার Java ক্লাসের প্রপার্টি কাস্টম সিরিয়ালাইজ করতে পারেন।
উদাহরণ:
import org.boon.Boon;
import org.boon.serializer.annotations.BoonSerialize;
public class CustomSerializationWithAnnotation {
public static void main(String[] args) {
// POJO অবজেক্ট তৈরি
Person person = new Person("Alice", 25, "123-45-6789");
// JSON তৈরি
String json = Boon.toJson(person);
// JSON আউটপুট
System.out.println(json);
}
static class Person {
private String name;
private int age;
@BoonSerialize(exclude = true) // SSN প্রপার্টি সিরিয়ালাইজ হবে না
private String ssn;
public Person(String name, int age, String ssn) {
this.name = name;
this.age = age;
this.ssn = ssn;
}
// 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 String getSsn() {
return ssn;
}
public void setSsn(String ssn) {
this.ssn = ssn;
}
}
}
এখানে, @BoonSerialize(exclude = true) ব্যবহার করে SSN প্রপার্টিটি JSON সিরিয়ালাইজেশন থেকে বাদ দেয়া হয়েছে।
আউটপুট:
{"name":"Alice","age":25}
এখানে SSN প্রপার্টি JSON আউটপুটে নেই, কারণ এটি exclude করা হয়েছে।
সারাংশ
Boon লাইব্রেরি কাস্টম সিরিয়ালাইজেশন কনফিগার করার জন্য দুটি প্রধান পদ্ধতি সরবরাহ করে:
Boon.toJson()মেথডে কাস্টম সিরিয়ালাইজার ব্যবহার করা।@BoonSerializeএনোটেশন ব্যবহার করে সিরিয়ালাইজেশন কাস্টমাইজ করা।
আপনি এই পদ্ধতিগুলি ব্যবহার করে আপনার Java ক্লাসের সিরিয়ালাইজেশন কাস্টমাইজ করতে পারেন এবং নির্দিষ্ট প্রপার্টি বা ডেটা ফরম্যাট অনুযায়ী JSON তৈরি করতে পারেন।