问题
如果我从名为'Message'的XML根元素生成jaxb对象,它将生成以下类:
@XmlRootElement(name = "Message")
public class Message{
...
}
我有一个具有以下定义的方法:
public void doSomething(Object rootElement) {
...
}
此方法是30多个开发人员使用的框架的一部分。该方法仅接受带有注解@XmlRootElement的类。开发人员有时会错过这个关键的Javadoc,并将非@XmlRootElement对象传递给该方法,从而在运行时出错。由于生成的类没有超类,没有接口等,因此我必须接受一个对象作为参数。
问题
是否可以强制执行此检查编译时间?
已经尝试
我已经研究过(通过jaxb绑定文件)让生成的类实现一个接口,然后接受该接口作为参数,但是它不能(以自动方式)仅应用于根元素类。
我们有数百个不同的XML模式文件,这些文件是我们自动生成的。