JAXB 2的ObjectFactory类有什么意义?

JAXB 2的ObjectFactory类有什么意义?,第1张

JAXB 2的ObjectFactory类有什么意义?

向后兼容性不是唯一原因。:-P

对于更复杂的模式,例如对元素内容可以采用的值具有复杂约束的模式,有时您需要创建实际

JAXBElement
对象。通常,手工创建它们并不容易,因此这些
create*
方法为您完成了艰巨的工作。示例(来自XHTML
1.1模式):

@XmlElementDecl(namespace = "http://www.w3.org/1999/xhtml", name = "style", scope = XhtmlHeadType.class)public JAXBElement<XhtmlStyleType> createXhtmlHeadTypeStyle(XhtmlStyleType value) {    return new JAXBElement<XhtmlStyleType>(_XhtmlHeadTypeStyle_QNAME, XhtmlStyleType.class, XhtmlHeadType.class, value);}

这是将

<style>
标签放入
<head>
标签的方法:

ObjectFactory factory = new ObjectFactory();XhtmlHtmlType html = factory.createXhtmlHtmlType();XhtmlHeadType head = factory.createXhtmlHeadType();html.setHead(head);XhtmlStyleType style = factory.createXhtmlStyleType();head.getContent().add(factory.createXhtmlHeadTypeStyle(style));

ObjectFactory
可以认为前三个用途是多余的(尽管对于一致性很有用),但是第四个用途使JAXB变得非常容易使用。成像
newJAXBElement
每次都要手工写出来!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5489610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存