का उपयोग कर दिनांक वर्ग के लिए
java.util.Date
के गुणों मार्शल और
xs:dateTime
रूप unmarshalled और सब कुछ उम्मीद के रूप में काम करता है कर रहे हैं।
लेकिन यदि क्षेत्र/संपत्ति का प्रकार Object
है, तो जेएक्सबी unmarshals xs:dateTime
से XMLGregorianCalendarImpl
।
मैं एक तरीका है कि अपने आप में java.util.Date
को JAXB unmarshal तारीख-समय मान बनाता एनोटेशन का उपयोग खोजने की जरूरत है। अन्यथा, मुझे प्रत्येक उपयोग मामले में सभी unmarshalled मूल्यों के माध्यम से जाना होगा।
भले ही ऑब्जेक्ट फ़ील्ड वाले वर्गों पर परिभाषित करने के लिए कुछ अनमशशेल-हुक थे और उदाहरणों को मैन्युअल रूप से परिवर्तित करना अच्छा होगा। लेकिन मुझे कुछ भी नहीं मिला जो इस तरह इस्तेमाल किया जा सकता है।
ध्यान दें कि मेरे पास JAXB संदर्भ तक सीमित पहुंच है, क्योंकि इसका उपयोग अपाचे सीएक्सएफ के अंदर किया जाता है।
ऑब्जेक्ट हमेशा एक तारीख नहीं है। यह विभिन्न प्रकार हो सकता है। जेनरेट एक्सएसडी में, इसे xs: anyType के रूप में निर्दिष्ट किया गया है। तिथि संभावित मूल्यों में से एक है। – Iravanchi
आप दिनांक प्रकारों के बीच कनवर्ट करने के लिए XmlAdapter लिख सकते हैं। –
मेरे पास XMLGregorian कैलेंडर और दिनांक के बीच कनवर्ट करने के लिए XmlAdapter है, लेकिन मैं इसे @XmlJavaTypeAdapter का उपयोग करके ऑब्जेक्ट के प्रकार के क्षेत्र में लागू नहीं कर सकता - इसका परिणाम IllegalAnnotationException में होता है। – Iravanchi