Using generics with com.sun.codemodel

2.8k Views Asked by At

Using com.sun.codemodel, I would like to generate a generic LinkedList field. I can create a raw field using this code:

JDefinedClass masterClass;
String detailName;
JDefinedClass detailClass;
JFieldVar detailField = masterClass.field(JMod.PRIVATE, LinkedList.class, detailName);

But I could not find a way to create a LinkedList with a generic type of detailClass.

1

There are 1 best solutions below

1
On BEST ANSWER
JClass detailClass = codeModel.ref(String.class);
String detailName = "myLinkedListField";
JClass rawLLclazz = codeModel.ref(LinkedList.class);
JClass fieldClazz = rawLLclazz.narrow(detailClass);
JFieldVar detailField = def.field(JMod.PRIVATE, fieldClazz, detailName);