如何从XML / XSD动态创建包含第三方库使用的自定义注释的Java对象

时间:2016-06-02 07:20:56

标签: java xml jaxb annotations optaplanner

我的目标是获取XML和/或XSD文件并动态创建包含服装注释的Java对象并将其加载到JVM中。然后,第三方库将查找包含该注释的对象并对其执行某些功能。 java对象的示例输出如下:

import org.optaplanner.core.api.domain.entity.PlanningEntity;
import org.optaplanner.core.api.domain.variable.PlanningVariable;

@PlanningEntity
public class NameAssignment extends ResourceAssignment{
    private String name;

   @PlanningVariable(valueRangeProviderRefs = { "PlannerCountRange" })    
   public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

我正在努力解决的问题是在解组XML之前,期间或之后生成注释字段@PlanningEntity@PlanningVariable(valueRangeProviderRefs = { "PlannerCountRange" })

我一直试图通过JAXBDynamic JAXBDynamic JAXBJavaAssist(用于字节代码操作),JCypher以及XJC(仅用于编译类)。我甚至考虑过完全转储Java并使用Groovy。 我开始觉得我已经过度复杂,需要一些指导。这是一个“从头开始”的项目,因此我对如何实现它没有任何限制。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

使用jaxb2-annotate-plugin,您可以将任何静态注释注入到生成的代码中,仅提供绑定。

请寻找答案Custom annotation with jaxb2-annotate-plugin and XJC tool,以获取详细信息和使用示例。