2015-03-18 19 views
8

JavaPoet ile kod üretiyorum.JavaPoet'te 'Any Type' soru işareti nasıl eklenir?

Oluşturulan kodun bir yerinde aşağıdaki argümana sahip bir yöntem eklemek istiyorum.

... 
    public B someMethod(final AbstractObjectBuilder<Persoon,?> builder) { 
     ... 
    } 
... 

Yani benim JavaPoet kodu bu

//This does not compile, since I don't know what to put as last argument (questionmark) 
ParameterizedTypeName parameterizedTypeName = ParameterizedTypeName.get(AbstractObjectBuilder.class, propertyType,?); 

ParameterSpec parameterSpec = ParameterSpec.builder(parameterizedTypeName, name+"Builder", Modifier.FINAL).build(); 

MethodSpec modMethod = MethodSpec.methodBuilder(name) 
         .addModifiers(Modifier.PUBLIC) 
         .addParameter(parameterSpec) 
         .returns(TypeVariableName.get("B")); 
... 
+0

'> ' – Prashant

cevap

5

Foo<?> gibi görünmelidir Foo<? extends Object> kısa bir şeklidir. Bunun için WildcardTypeName kullanın.

+0

uzatır. Lütfen bir örnek verebilir misiniz? – confile

+3

Bu: ParameterizedTypeName.get (ClassName.get (Class.class), WildcardTypeName.subtypeOf (Object.class) , bir Sınıf verir. – Thecheeselover

İlgili konular