2008-09-18 13 views
9

क्या कोई जावा लाइब्रेरी जानता है जो जावा ऑब्जेक्ट पदानुक्रम को जावा कोड में क्रमबद्ध करता है जो इस ऑब्जेक्ट पदानुक्रम को उत्पन्न करता है? ऑब्जेक्ट/एक्सएमएल सीरियलाइजेशन की तरह, केवल आउटपुट प्रारूप बाइनरी/एक्सएमएल नहीं बल्कि जावा कोड है।जावा ऑब्जेक्ट्स जावा कोड में सीरियलाइज़ करें

उत्तर

1

मैं किसी भी पुस्तकालयों कि बॉक्स से बाहर ऐसा करेंगे के बारे में पता नहीं कर रहा हूँ, लेकिन आप एक्सएमएल क्रमबद्धता पुस्तकालयों के लिए कई वस्तु में से एक लेते हैं और बैकएंड कोड अनुकूलित करने के लिए जावा उत्पन्न करने के लिए सक्षम होना चाहिए। शायद अधिक कोड नहीं होगा।

उदाहरण के लिए एक त्वरित Google XStream चालू हुआ। मैंने इसका कभी भी उपयोग नहीं किया है लेकिन ऐसा लगता है कि एक्सएमएल के अलावा कई बैकएंड का समर्थन करता है - उदा। JSON। आप अपने स्वयं के लेखक को कार्यान्वित कर सकते हैं और पदानुक्रम को फिर से बनाने के लिए आवश्यक जावा कोड लिख सकते हैं।

मुझे यकीन है कि आप अन्य पुस्तकालयों के साथ भी ऐसा ही कर सकते हैं, विशेष रूप से यदि आप एक SAX ईवेंट स्ट्रीम में हुक कर सकते हैं।

देखें: HierarchicalStreamWriter

+0

या जो भी एक्सस्ट्रीम आउटपुट में एक्सएसएल रूपांतरण लागू करें और जावा उत्पन्न करें। जो भी आप आपसे अधिक अपील करते हैं। – entzik

0

एक्सस्ट्रीम एक धारावाहिक पुस्तकालय है जिसका उपयोग मैंने एक्सएमएल को क्रमबद्ध करने के लिए किया था। इसे विस्तारित करना और इसे विस्तारित करना आसान होना चाहिए ताकि यह जावा कोड लिख सके।

3

सीरियलाइज्ड डेटा ऑब्जेक्ट्स के आंतरिक डेटा का प्रतिनिधित्व करता है। आंतरिक स्थिति को पुन: पेश करने के लिए वस्तुओं पर कॉल करने के लिए आपको किन तरीकों की आवश्यकता होगी, यह जानने के लिए पर्याप्त जानकारी नहीं है।

  • एनकोड धारावाहिक डेटा एक शाब्दिक स्ट्रिंग में और उस deserialise:

    दो स्पष्ट दृष्टिकोण हैं।

  • जावा.बीन्स एक्सएमएल दृढ़ता का प्रयोग करें, जो आपके पसंदीदा एक्सएमएल-> जावा स्रोत तकनीक के साथ संसाधित करने के लिए काफी आसान होना चाहिए।
+1

वस्तुओं जावा बीन्स हैं, इसलिए सभी क्षेत्रों के लिए गेटर्स और सेटर्स हैं। मुझे deserialization की परवाह नहीं है, मैं सिर्फ अपने डेवलपर्स को मॉकिंग कोड लिखने में मदद करने के लिए एक तरीका प्रदान करना चाहता हूं :) – user17456

1

ग्रेट सवाल। मैं परीक्षण को आसान बनाने के लिए जावा कोड में वस्तुओं को क्रमबद्ध करने के बारे में सोच रहा था। उपयोग केस कुछ डेटा को डीबी में लोड करना होगा, फिर ऑब्जेक्ट बनाने वाला कोड उत्पन्न करें और बाद में डीबी तक पहुंचने की आवश्यकता के बिना डेटा को प्रारंभ करने के लिए परीक्षण विधियों में इस कोड का उपयोग करें।

यह किसी भी तरह से सच है कि ऑब्जेक्ट स्थिति में यह जानने के लिए पर्याप्त जानकारी नहीं है कि यह कैसे बनाया गया है और परिवर्तित किया गया है, हालांकि, सरल जावा बीन्स के लिए ऐसा कोई कारण नहीं है कि यह संभव नहीं होना चाहिए।

क्या आप इस उद्देश्य के लिए एक छोटी पुस्तकालय लिखना पसंद करते हैं? मैं जल्द ही कोडिंग शुरू कर दूंगा!

संबंधित मुद्दे