Jörn Horstmann
Jörn Horstmann

Reputation: 34024

Using generics with com.sun.codemodel

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.

Upvotes: 3

Views: 2909

Answers (1)

Raoni
Raoni

Reputation: 166

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);

Upvotes: 14

Related Questions