我创建了自己的注释,用于创建可视化组件。在创建组合框期间使用以下注释。
@Retention(value = RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface SelectParam {
public String paramName() default "param";
public int defaultIndex() default 0;
public String[] options() default "";
}
当我有5个或更少的选项时,这是完美的。我可以按照以下方式使用它:
@SelectParam(options = {"NON ORDERED", "ORDERED"}, paramName = "order")
public void setTreeType(final String index) {
switch (index) {
case "NON ORDERED":
fdt = new FDTu(fdt);
break;
case "ORDERED":
fdt = new FDTo(fdt);
break;
}
outputFDTport.setClassifier(fdt);
}
我有问题,当我想创建组合框时,他的项目存储在数组或List中。有没有可能的方法如何通过数组初始化anotattion参数的值? EQ。像这样的东西:
String [] opts = {"NON ORDERED", "ORDERED"};
@SelectParam(options = opts, paramName = "order")
public void setTreeType(final String index) {
switch (index) {
case "NON ORDERED":
fdt = new FDTu(fdt);
break;
case "ORDERED":
fdt = new FDTo(fdt);
break;
}
outputFDTport.setClassifier(fdt);
}