为了说明如何使用静态数据 API,让我们以使用 XSD 中定义的复杂类型表示的数据模型为例,如清单 1 中所示。
清单 1. 表示类型 Person 的 XSD 代码片段
<complexType name=”Person”>
<sequence>
<element name=”firstName” type=”string”/>
<element name=”lastName” type=”string”/>
<element name=”greeting” type=”string”/>
<element name=”id” type=”int”/>
</sequence>
</complexType>
如果将此类型传入数据 API 生成工具,输出将为 Person 的类型接口(一个工厂接口,可利用其创建类型 Person 的实例)和实现 Person 的 commonj.sdo.DataObject 的实现类(用于获取和设置属性,如 getFirstName() 和 setFirstName())。在这里,由于 Person 类实现 commonj.sdo.DataObject,此生成类可以在规范定义的接受 commonj.sdo.DataObject 作为参数的所有 SDO API 中使用。
清单 2 中所示的代码可帮助说明如何使用静态数据 API。
清单 2. 演示静态数据 API 的代码片段
// Register and initialize the SDO types defined in the generated
// PersonFactory class
SDOUtil.registerStaticTypes(PersonFactory.class);
// Create an instance of Person using the Factory class
Person person = PersonFactory.INSTANCE.createPerson();
// Set properties of the newly created Person object
person.setFirstName(“John”);
person.setLastName(“Doe”);
// Example of how to pass a Person object to XMLHelper.save() method for
// void XMLHelper.save(DataObject dataObject, String rootElementURI,
// String rootElementName, OutputStream outputStream)
XMLHelper.INSTANCE.save((DataObject)person, “http://www.example.com/person”,
”person”, System.out);
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。