Unmarshalling এর কাজ এবং প্রক্রিয়া

Marshalling এবং Unmarshalling এর ধারণা - স্প্রিং ওএক্সএম (Spring OXM) - Java Technologies

285

Spring OXM কি?

Spring OXM (Object/XML Mapping) হল Spring Framework এর একটি মডিউল যা Java objects এবং XML ডকুমেন্টের মধ্যে ম্যাপিং পরিচালনা করে। এটি XML ডেটা এবং Java objects এর মধ্যে রূপান্তর সহজ করে তোলে। Spring OXM দুটি প্রধান কাজ সম্পাদন করে:

  1. Marshalling - Java objects থেকে XML ডকুমেন্ট তৈরি করা।
  2. Unmarshalling - XML ডকুমেন্ট থেকে Java objects তৈরি করা।

এখানে আমরা "Unmarshalling" এর কাজ এবং প্রক্রিয়া বিস্তারিতভাবে আলোচনা করব।

Unmarshalling কি?

Unmarshalling হলো একটি প্রক্রিয়া যার মাধ্যমে XML ডকুমেন্ট বা ফাইল থেকে ডেটা পার্স করা হয় এবং সেটি Java objects এ রূপান্তরিত হয়। এটি XML ডকুমেন্টের বিভিন্ন এলিমেন্ট থেকে Java beans বা POJO (Plain Old Java Objects) তৈরি করতে ব্যবহৃত হয়। Spring OXM এই প্রক্রিয়াটি সহজ করে তোলে, যাতে XML ডেটাকে Java objects এ কনভার্ট করা যায় এবং অ্যাপ্লিকেশনের মধ্যে ব্যবহৃত হতে পারে।

Unmarshalling এর কাজ

Unmarshalling এর প্রধান কাজ হলো একটি XML ডকুমেন্ট বা স্ট্রিংকে Java objects এ রূপান্তর করা। এই প্রক্রিয়াটি XML ডকুমেন্টের প্রতিটি এলিমেন্ট এবং এর অ্যাট্রিবিউটগুলি Java objects এর ফিল্ডের সাথে ম্যাপ করা হয়। Spring OXM একটি নির্দিষ্ট Marshaller বা Unmarshaller ব্যবহার করে এই কাজটি সম্পন্ন করে।

Unmarshalling প্রক্রিয়া

Spring OXM ব্যবহার করে Unmarshalling প্রক্রিয়া সাধারণত নিম্নলিখিত পদক্ষেপে সম্পন্ন হয়:

১. XML ডকুমেন্ট বা স্ট্রিং পাওয়া

প্রথমে, XML ডেটা সংগ্রহ করতে হবে। এটি একটি ফাইল, HTTP রেসপন্স, বা অন্য কোন উৎস হতে পারে।

২. Marshaller বা Unmarshaller সেটআপ করা

Spring OXM এর মাধ্যমে XML ডেটাকে Java objects এ রূপান্তর করতে Unmarshaller ব্যবহার করা হয়। Unmarshaller সেটআপ করতে Spring OXM বিভিন্ন কনফিগারেশন প্রদান করে, যেমন JAXB (Java Architecture for XML Binding), Castor, XStream ইত্যাদি।

৩. Unmarshaller ব্যবহার করে XML কে Java Object এ রূপান্তর করা

XML ডেটা Unmarshal করতে, Unmarshaller অবজেক্টের মাধ্যমে XML ডকুমেন্টটি Java object এ রূপান্তর করা হয়।

৪. Java Object ব্যবহার করা

XML থেকে Unmarshal করা Java object পরে অ্যাপ্লিকেশনের মধ্যে ব্যবহার করা হয়, যেমন ডেটাবেসে সেভ করা বা কোনো নির্দিষ্ট কার্যক্রম সম্পাদন করা।

Spring OXM ব্যবহার করে Unmarshalling উদাহরণ

ধরা যাক আমাদের কাছে একটি XML ডকুমেন্ট আছে, যেটি একটি Employee ক্লাসের তথ্য ধারণ করছে। নিচে Spring OXM এর মাধ্যমে XML ডকুমেন্ট থেকে Java object তৈরির একটি উদাহরণ দেখানো হলো।

১. Employee POJO (Plain Old Java Object) ক্লাস

প্রথমে, একটি Employee ক্লাস তৈরি করি যা XML ডকুমেন্টের সাথে মিলে যাবে।

@XmlRootElement
public class Employee {
    private String name;
    private int age;

    // getters and setters
}

এখানে @XmlRootElement অ্যানোটেশনটি জানাচ্ছে যে এই ক্লাসটি একটি XML রুট এলিমেন্টের সাথে মেলানো যাবে।

২. Spring OXM কনফিগারেশন

Spring OXM এর মাধ্যমে Unmarshalling করার জন্য আপনাকে একটি Marshaller এবং Unmarshaller কনফিগার করতে হবে। নিচে JAXB ব্যবহার করে কনফিগারেশন দেখানো হলো।

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="com.example"/>
</bean>

<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="com.example"/>
</bean>

এখানে, contextPath হল প্যাকেজ নাম যেখানে Employee ক্লাস বা অন্যান্য JAXB ক্লাস রয়েছে।

৩. Unmarshaller ব্যবহার করে XML থেকে Java Object তৈরি করা

এখন XML ডকুমেন্ট থেকে Employee object তৈরির জন্য Unmarshaller ব্যবহার করা হবে। নিচে এর একটি উদাহরণ দেয়া হলো:

import org.springframework.oxm.Unmarshaller;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import javax.xml.transform.stream.StreamResult;
import java.io.StringReader;

public class UnmarshalExample {
    public static void main(String[] args) throws Exception {
        String xml = "<employee><name>John Doe</name><age>30</age></employee>";
        
        // Unmarshaller তৈরি করা
        Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
        marshaller.setContextPath("com.example");

        // XML থেকে Java object এ রূপান্তর
        StringReader reader = new StringReader(xml);
        Employee employee = (Employee) marshaller.unmarshal(new StreamResult(reader));

        // Java object ব্যবহৃত
        System.out.println(employee.getName());
        System.out.println(employee.getAge());
    }
}

এই উদাহরণে, XML স্ট্রিংটি Unmarshaller এর মাধ্যমে Employee অবজেক্টে রূপান্তরিত হচ্ছে। আমরা পরে এই Java object এর মেথডগুলো ব্যবহার করতে পারি।

৪. XML ফাইল থেকে Unmarshal করা

XML ফাইল থেকে Unmarshal করার জন্য, আপনি File অবজেক্ট ব্যবহার করতে পারেন।

File file = new File("employee.xml");
Employee employee = (Employee) marshaller.unmarshal(new StreamResult(file));

৫. Spring Context Configuration ব্যবহার করা

Spring Framework এ Spring XML কনফিগারেশন ব্যবহার করে Unmarshaller এবং Marshaller ব্যবহার করা যায়। এখানে Spring Context ফাইলের মধ্যে কনফিগারেশন করা হয়েছে।

<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="com.example"/>
</bean>

<bean id="employeeService" class="com.example.EmployeeService">
    <property name="unmarshaller" ref="unmarshaller"/>
</bean>

সারাংশ

Unmarshalling হল একটি XML ডকুমেন্ট থেকে Java objects তৈরি করার প্রক্রিয়া, যা Spring OXM এর মাধ্যমে সহজে সম্পন্ন করা যায়। Spring OXM বিভিন্ন ধরনের XML ডেটাকে Java objects এ রূপান্তর করার জন্য সমর্থন প্রদান করে এবং এটি XML ডেটার সাথে কাজ করার সময় কোডের পুনরাবৃত্তি কমাতে সাহায্য করে। Unmarshalling এর মাধ্যমে আপনি XML ডেটা পঠনযোগ্য Java objects এ রূপান্তর করতে পারেন, যা পরবর্তী সময়ে অ্যাপ্লিকেশন লজিকের অংশ হিসেবে ব্যবহৃত হতে পারে। Spring OXM এই প্রক্রিয়াটি সহজ, নমনীয় এবং দ্রুত করে তোলে।

Content added By
Promotion

Are you sure to start over?

Loading...