2012-01-17 6 views
5

MVC मॉडल वर्गों के लिए, मेरे setters की तरह लग रहे? यदि नहीं है तो इस आउटपुट को टेम्पलेट से प्राप्त करने का कोई तरीका है?ग्रहण टेम्पलेट()

आउटपुट को विधि नाम का उत्पादन करने के लिए क्षेत्र का नाम CamelCase करना चाहिए, इसलिए फ़ील्डनाम नाम फ़ील्ड नाम() और अपरकेस को फ़ील्ड नाम को संपत्ति enum उत्पन्न करने के लिए उत्पन्न करता है।

तो फ़ील्डनाम FIELD_NAME उत्पन्न करता है (या FIELDNAME भी काम करेगा)।

+1

ऐसा लगता है [यह उत्तर] (http://stackoverflow.com/a/7237108/274350) जो कुछ मैं ढूंढ रहा हूं वह करता है। –

उत्तर

0

Fast Code Eclipse Plugin एक विकल्प की तरह दिखता है, लेकिन मैं इसे स्थापित करने के जो मैं पीछा करने के लिए समय नहीं है और जवाब सवाल Useful Eclipse Java Code Templates पर उपयोगकर्ता qualidafial द्वारा की पेशकश सब कुछ मैं एक ग्रहण प्लगइन की आवश्यकता के बिना क्या करने की जरूरत नहीं करता है एक त्रुटि मिली।

1

मैं इस संदेश को "गेटर्स/सेटर्स जेनरेट" संवाद पर देख सकता हूं। गेटर्स/सेटर्स का प्रारूप कोड टेम्पलेट वरीयता पृष्ठ पर कॉन्फ़िगर किया जा सकता है। आप वहां जा सकते हैं (Setter BodyCode सेक्शन के तहत) और नीचे की तरह संशोधित करें।

Type oldValue = ${field}; 
${field} = ${param}; 
firePropertyChange(BoundProperty.FIELD_NAME, oldValue, ${param}); 

हालांकि यह BoundProperty उत्पन्न नहीं करेगा। यह संभव है या नहीं, यह जानने के लिए और अधिक शोध की आवश्यकता है। ये लिंक मदद मिल सकती है

Useful Eclipse Java Code Templates और Getting started with Eclipse code templates

+0

प्रतिक्रिया के लिए धन्यवाद। मैंने यह कोशिश की, लेकिन यह पर्याप्त नहीं है - प्रकार फ़ील्ड का प्रकार होना चाहिए, और FIELD_NAME फ़ील्डनाम का अपरकेस संस्करण होना चाहिए। कोड टेम्पलेट स्क्रीन में उपलब्ध चर से इन्हें प्राप्त करने का कोई तरीका प्रतीत नहीं होता है? –

+0

मैंने अभी जवाब में कुछ लिंक जोड़े हैं। क्या आप वहां नए चर प्राप्त कर सकते हैं? – Reddy

+0

बीटीडब्ल्यू क्या आपको enum में नए फ़ील्ड जोड़ने का कोई तरीका चाहिए? – Reddy

1

मुझे लगता है कि ग्रहण टेम्पलेट्स के माध्यम से इस बनाने के लिए एक सरल तरीका नहीं है, मुख्य रूप से CamelCase/अपरकेस और enum मूल्यों की पीढ़ी के बारे में। आप इन दो प्रश्नों को Is there a way to capitalize the first letter of a value of a variable in Eclipse (Helios) code templates, Programmatically add code templates? और विवरणों में खोदने के लिए देख सकते हैं।

IMHO, जो आप चाहते हैं उसे प्राप्त करने का सबसे अच्छा तरीका Fast Code Eclipse Plugin का उपयोग करना है और उस प्लगइन के लिए एक वेग टेम्पलेट लिखें जो फ़ील्ड से सभी कोड उत्पन्न करता है।

enum BoundProperty { 
#foreach ($field in ${fields}) 
    ${field.toUpperCase()} #if($foreach.hasNext), #end 
#end 
} 

#foreach ($field in ${fields}) 
    public ${field.type} get${field.name.substring(0,1).toUpperCase()}${field.name.substring(1)}(${field.type} newValue) { 
     Type oldValue = fieldName; 
     fieldName = newValue; 
     firePropertyChange(BoundProperty.${field.name.toUpperCase()}, oldValue, newValue);  
    } 
#end 

या "getter_setter" template of that plugin बदलें।

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