2010-01-02 20 views
16

Spring Framework API दस्तावेज़ का कहना है:जावाबीन संपत्ति नामकरण सम्मेलन कहां परिभाषित किया गया है?

इस्तेमाल किया सम्मेलन, कक्षा की uncapitalized छोटा नाम वापस जाने के लिए नामकरण नियम JavaBeans संपत्ति के अनुसार है: तो, com.myapp.Product उत्पाद बन जाता है; com.myapp.MyProduct मेरा उत्पाद बन जाता है; com.myapp.UKProduct UKProduct बन जाता है।

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

पृष्ठभूमि है, कि मैं ऑब्जेक्ट के प्रकार के आधार पर HTML टेम्पलेट्स में उपयोग के लिए स्वचालित रूप से चर नामों को उत्पन्न करना चाहता हूं। उदाहरण: कक्षा: कुछ नाम -> वस्तु: कुछ नाम।

उत्तर

26

http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138795.html

इसके अलावा, एक direct link to the (PDF) specification

लिंक किए गए दस्तावेज़ में धारा 8.8 का शीर्षक "अनुमानित नामों का पूंजीकरण" है और संक्षेप में रूपरेखा बताती है कि संपत्तियों के नाम कैसे प्राप्त किए जाते हैं।

+4

धन्यवाद! जैसा कि मैंने अनुमान लगाया है कि यह प्रासंगिक पहिया है दूसरा अक्षर ऊपरी मामला है या नहीं। सूर्य: "हालांकि सभी ऊपरी मामले के नामों के कभी-कभी उपयोग का समर्थन करने के लिए, हम जांचते हैं कि नाम के पहले दो अक्षर ऊपरी मामले हैं और यदि ऐसा है तो इसे अकेला छोड़ दें।" स्ट्रिंग को इस नाम के नाम पर बदलने के लिए एक विधि है: java.beans.Introspector # decapitalize (स्ट्रिंग नाम) – deamon

+0

वाह, यह बहुत सारी जानकारी है जिसे मैं पहले नहीं जानता था। धन्यवाद! –

2

इस कार्यक्षमता के कार्यान्वयन इस वर्ग में है: http://java.sun.com/javase/6/docs/api/java/beans/Introspector.html

+0

क्या जावा बीन्स नियमों का पालन करने वाला एक व्यस्त कार्य "पूंजीकरण" है? (केवल पहले चार को कैपिटल करना gURL <-> getgURL, aFoo <-> getaFoo के मामले में काम नहीं करता है। यही कारण है कि मैं एक "आधिकारिक" विधि ढूंढ रहा हूं।) – leo

+0

@leo वहाँ 'java.beans.NameGenerator.capitalize' है, लेकिन यह व्यस्त कार्य नहीं है। दूर तक नहीं। मुझे डर है, फ़ंक्शन बिल्कुल अचूक नहीं है, लेकिन आप 'toLowerCase' को' torosperCase' द्वारा 'Introspector.decapitalize] में बदलकर करीब आ सकते हैं (http://grepcode.com/file/repository.grepcode.com /java/root/jdk/openjdk/8-b132/java/beans/Introspector.java#Introspector.decapitalize%28java.lang.String%29)। असल में, 'toTitleCase' अधिक सही है। – maaartinus

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