在Lombok上生成具有特定类型元素的代码

时间:2017-01-18 08:01:49

标签: java annotations code-injection lombok

我想在lombok上添加一个服装注释,从一个变量生成另一个变量。

我想创建annotation Lombok这个注释@selectOne

   @selectOne
    Private String client;

现在我想自动添加注入此代码的变量:

Private String client;
List <String> listClient;
List <String> selectClient;

当我将一个类型的Element类型变量添加到List时,它不起作用,但它在这样的情况下工作:

Private String client;
List  listClient;
List selectClient;

在lombok上,我使用此代码生成变量:

JavacNode node;
JCExpression    typeList =chainDots(node, "java", "util", "List");
this variable typeList type java.util.List

我希望typeList成为java.util.List<String>

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案

JCExpression testDeclarList =maker.TypeApply(chainDotsString(fieldNode, "java.util.List"), List.<JCExpression>of(genJavaLangTypeRef(fieldNode, "String")));