मैं वर्तमान में इंटरफेस उत्पन्न करने के लिए Roaster का उपयोग कर रहा हूं, लेकिन मेरे इंटरफ़ेस में सामान्य प्रकार हैं।रोस्टर का उपयोग करके, मैं एक विशिष्ट जेनेरिक प्रकार (या प्रकार) के साथ एक इंटरफ़ेस कैसे उत्पन्न कर सकता हूं?
String entityName = "SimpleEntity";
JavaInterfaceSource repository = Roaster.create(JavaInterfaceSource.class)
.setName(entityName + "Repository");
JavaInterfaceSource jpaInterface = repository.addInterface(JpaRepository.class);
jpaInterface.addTypeVariable(entityName);
jpaInterface.addTypeVariable("String");
लेकिन उत्पन्न कोड है कि लग रहा है (कुछ) में ऊपर दिए गए परिणामों इस तरह::
public interface SimpleEntityRepository<SimpleEntity>
extends
org.springframework.data.jpa.repository.JpaRepository {
}
मैं वास्तव में क्या चाहते है
यहाँ क्या मैं उन्हें उत्पन्न करने के लिए के साथ शुरू करने की कोशिश कर रहा था जेनेरिक के लिए JpaRepository
तक बाध्य होना चाहिए। मैं इसे कैसे पूर्ण करूं?
मकोटो, आपके बक्षीस के लिए, कोड में देखकर यह सबसे आसान आसानी से उपलब्ध समाधान की तरह दिखता है। एकमात्र अन्य मार्ग 'एडइंटरफेस (जावाइंटरफेस > प्रकार)' विधि का उपयोग करना है, लेकिन ['जावाइंटरफेस'] (http://javadox.com/org.jboss.forge.roaster/roaster-api/2.18.1.Final/org /jboss/forge/roaster/model/JavaInterface.html) जेनेरिक पैरामीटर के लिए प्रतिस्थापन निर्दिष्ट करने का समर्थन नहीं करता है: यह ['TypeVariableSource'] (http://javadox.com/org.jboss.forge.roaster द्वारा समर्थित नहीं है) /roaster-api/2.18.1.Final/org/jboss/forge/roaster/model/source/TypeVariableSource.html)। – SergGr