java - How do I remove implementing types from GWT’s Serialization Policy? -


इस प्रश्न के विपरीत:

जीडब्ल्यूटी अवांछित प्रकारों को सीरियलाइज़ेशन नीति में जोड़ रहा है और मेरे जेएस को फूला रहा है । मैं अपने GWT श्वेतसूची को हाथ से कैसे ट्रिम कर सकता हूं? उदाहरण के लिए, अगर मैं जीडब्ल्यूटी आरपीसी सेवा वर्ग पर इंटरफ़ेस सूची डालता हूं, तो जीडब्ल्यूटी को जावास्क्रिप्ट उत्पन्न करना पड़ता है जो अर्रेयलिस्ट, लिंक्डलिस्ट, स्टैक, वेक्टर, को संभालती है ... हालांकि मेरा टीम जानता है कि हम केवल एक ArrayList को वापस करने जा रहे हैं मैं सिर्फ विधि का वापसी प्रकार ArrayList बना सकता था, लेकिन मुझे एक विशिष्ट कार्यान्वयन के बजाय एक अंतरफलक पर निर्भर करना पसंद है। सब के बाद, शायद एक दिन हम इसे ऊपर स्विच कर देंगे और उदासीन करेंगे एक लिंक्डलिस्ट उस स्थिति में, मैं केवल अर्रेइस्ट और लिंक्डलिस्ट के लिए संकलित करने के लिए जीडब्ल्यूटी सीरियलाइज़ेशन नीति को बल देना चाहता हूं। कोई ढेर या वेक्टर नहीं।

इन अंतर्निहित प्रतिबंधों में एक बहुत बड़ा नकारात्मक पहलू है जो मैं सोच सकता हूँ: टीम का एक नया सदस्य वेक्टर वापस लौटना शुरू करता है, जो एक रनटाइम त्रुटि होगी। इसलिए शीर्षक के सवाल के अलावा, इस बारे में आपका अनुभव क्या है?

एक संपत्ति है इस वर्ग के ब्लैकलिस्टिंग कर सकते हैं उदाहरण के लिए, गैर-अर्रेलिस्ट संग्रह को ब्लैकलिस्ट करने के लिए, ये * * .gwt.xml में इन पंक्तियों को जोड़ें:

  & lt; विस्तार-कॉन्फ़िगरेशन-गुण नाम = "rpc.blacklist" value = "java util.HashSet "/ & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.LinkedHashSet" / & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.LinkedList" / & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.stack" / & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.TreeMap" / & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.TreeSet" / & gt; & Lt; विस्तार-कॉन्फिगरेशन-प्रॉपर्टी नाम = "rpc.blacklist" value = "java.util.Vector" / & gt;  

GWT के अंतर्निहित com.google.gwt.user.client.ui.SuggestOracle $ Response ऑब्जेक्ट्स को भेजते समय जेएस आकार को कम करने के लिए मेरे लिए यह आवश्यक था तार। इस तरह के ऑब्जेक्ट में एक java.util.Collection है, लेकिन मुझे पता था कि मैं केवल एक ArrayList को वापस भेजूँगा।

मैं अभी भी अन्य प्रतिक्रियाओं, टिप्पणियों और मेरे मूल प्रश्न में चर्चा के अनुसार संकलन-समय जांच के फायदे का सम्मान करता हूं। दरअसल, यह एक अस्थिर समाधान है अगर जीडब्ल्यूटी ने सीरियललाइज करने के लिए अतिरिक्त कार्यान्वयन शुरू करना शुरू कर दिया है (यह श्वेतसूची क्यों नहीं है?) हालांकि यह "rpc.blacklist" संपत्ति ने मुझे अपना खुद का SuggestOracle रोल करने से अधिक विशिष्ट संग्रह प्रकार प्राप्त करने के लिए बचा लिया।


Comments

Popular posts from this blog

Indexing in SQL -

objective c - iPhone and it's wireless area -

multithreading - Do lock objects in Java need to be static? -