java - 如何自定义 JAXB 生成的 java 注释?

标签 java annotations jaxb

JAXB 为每个属性生成 @XmlAttribute 注释。例如,属性

    <xsd:attribute name="agent_id" use="required" type="xsd:unsignedInt">
    <xsd:annotation><xsd:documentation xml:lang="en">Foreign key reference to Agent.agent_id, Included in composite primary key</xsd:documentation></xsd:annotation>
    </xsd:attribute>

被翻译为带注释的java对象属性

@XmlAttribute(name = "agent_id", required = true)
@XmlSchemaType(name = "unsignedInt")
protected long agentId;

但是,如果属性的名称中没有下划线,则 @XmlAttribute 中的名称字段会丢失(因此会缺少 ##default)。我想自定义 JAXB 绑定(bind),以便生成不带下划线的名称注释。有什么建议吗?

谢谢! 约翰内斯

最佳答案

您可以编写一个 XJC 插件来添加此行为:

就 JAXB (JSR-222) 实现而言,结果 XML 将是相同的。

关于java - 如何自定义 JAXB 生成的 java 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10879316/

相关文章:

swift - 如何在一个 MapView 中使用不同的 View

java - GATE 将注释 ID 作为特征写入

java - 解码、xml 到 java、XSD 中未定义的无效枚举值被忽略

java - 使用 APPLICATION_FORM_URLENCODED 媒体类型与 Jersey 客户端进行 POST

java - 为什么boolean一开始就设置为false,代码对吗?

java - 连接到所有其他线程时循环不会终止

java - 编码java代理

并行部分任务的 Java 并发模式

java - Java 注释的最佳(或至少是好的)指南

java - 如何将数据库 XML 输出映射到 JAXB 派生对象模型