मैं जावापॉइट का उपयोग मूल्य के रूप में एक प्रकार के अक्षर के साथ एनोटेशन उत्पन्न करना चाहता हूं।कक्षा शाब्दिक उत्पन्न करने के लिए मैं जावापेट कैसे प्राप्त करूं?
@AutoService(MyService.class)
public class GeneratedClass implements MyService {
}
मैं सभी विकल्पों को मैं के बारे में सोच सकते हैं की कोशिश की है, लेकिन कोई भी काम: उदाहरण के लिए:
TypeSpec.classBuilder("GeneratedClass")
.addModifiers(Modifier.PUBLIC)
.addSuperinterface(MyService.class)
.addAnnotation(
AnnotationSpec.builder(AutoService.class).addMember(
"value", "$L", MyService.class
).build()
)
का उपयोग कर $L
$T
उत्पन्न my.package.MyService
का उपयोग कर उत्पन्न interface MyService
है, जो करीब है लेकिन .class
भाग याद करता है। expected name but was my.package.MyService
मैं इसे कैसे MyService.class
एनोटेशन मूल्य के रूप में उत्पन्न करने के लिए मिलता है:
$N
का उपयोग कर एक त्रुटि देता है?
मुझे ऐसा करने का अन्य तरीका नहीं पता है। मुझे लगता है कि इसकी अनुशंसा की गई थी क्योंकि 'प्रारूप' एक 'स्ट्रिंग' है जो 'एनम' नहीं है। –
यह बिल्कुल सही तरीका है। –
जब आप 'पैरामीटरेटेड टाइप नाम' से निपट रहे हैं तो क्या होगा? – WouterH