`
luoxuanufo
  • 浏览: 22196 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SDO For Java 规范(七)——类型(Type)

阅读更多

类型(Type

类型接口表达了一个数据对象模型或者数据类型的普通视图。

大多数编程语言或者数据建模语言都有数据类型概念; SDO类型与其它数据类型类似。除非该类型为一个简单数据类型,否则一个SDO类型均有一个属性对象集合。

SDO类型到编程语言和数据建模语言类型的映射

Java, C++, UML 或者 EMOF

  • 可以使用SDO类型表达类。
  • 类的每一个属性可以表达为一个SDO属性。

XML Schema

  • 可以使用SDO类型表达复杂或简单类型。
  • 元素和属性可以使用SDO属性表达。

C结构体

  • 可以使用SDO类型表达C结构体。
  • 结构体的每一个域可以使用SDO属性表达。

关系数据库

  • 表可以表达为一个SDO类型。
  • 列可以表达为一个SDO属性。

上述领域均共享某些概念,SDO类型和属性接口表达了上述概念的一个小子集。这些接口对于数据对象编程者来说是有用的,因为其需要内省运行期的数据形状和本质。

表达所有特定领域信息的比较完整的元模型API(例如,XML Schema或者EMOF)超出了本规范的范围。

类型内容

一个类型总是有:

  • 名字——同一个URI内类型之间的一个唯一的字符串。
  • URI——一个包的逻辑URI或者是一个目标命名空间,这取决于你的观点。
  • 用于指明该类型为开放的、抽象的、顺序的、还是一个数据类型的布尔型域。

一个类型可能拥有:

  • 属性——由该类型定义的属性对象列表。与简单数据类型一致的类型则没有定义属性。
  • 实例类——用来实现SDO类型的java.lang.Class

如果DataType为真,那么一个类型必须拥有一个实例类。例如象java.lang.Integer java.lang.String这样的类。

如果DataType为假,并且使用了由代码生成器生成的代码,那么一个实例类是可选的。例如象PurchaseOrderCustomer这样的类。

  • 别名——包含额外名字的字符串。在同一个URI内,别名必须是唯一的。

类型上所有基于名字进行操作的方法也可以使用别名进行操作。例如,一个类型可以被赋予一个该领域的别名:一个名为PurchaseOrderTypeXML Schema,一个JavaPurchaseOrder和一个数据库表名PRCHORDR

名字的唯一性

在一个URI内,类型名字和类型别名都是唯一的。在一个类型和任何一个基础类型内,属性名和属性别名都是唯一的。

SDO数据类型

SDO为其所支持的普通数据类型定义了类型(Type),以便于在定义服务使用的类型和属性时保持一致。详细内容参见“Standard SDO Types” 章节。

多重继承

通过允许多个基础类型,类型(Type)支持多重继承。使用多重继承时,使用getProperties()方法获得的属性顺序可以不同于一个类型和基础类型的顺序。

类型方法

  • getName()方法返回一个类型名字。
  • getURI方法返回该类型的URI
  • getInstanceClass()方法返回实现SDO类型的类。
  • 如果指定的对象是该类型的实例,isInstance(Object object)方法将返回真。
  • 如果该类型用于描述DataType,那么isDataType()方法返回真,如果其用于描述DataObject,则返回假。
  • 如果该类型描述了顺序型数据对象,那么isSequenced()方法返回真,当其为真时,数据对象能够返回一个顺序(Sequence)。
  • 如果该类型允许开放内容,那么isOpen()方法返回真。如果返回值为假,那么dataObject.getInstanceProperties()返回值必定与该类型的任何一个数据对象的dataObject.getType().getProperties()方法返回值相同。
  • 如果类型是抽象的,那么isAbstract()方法返回真,并且该类型不能被实例化。抽象类型不能够用在数据对象或数据工厂(DataFactory)的创建方法中。抽象类型常被用作实例化类型的基础类型。
  • getBaseTypes()方法将返回该类型的基础类型列表。如果没有基础类型,该列表为空。XSD <extension>, <restriction>Java“extends”关键字被映射到基础类型列表。
  • getAliasNames()返回该类型的别名列表。如果没有别名,则该列表为空。
  • getProperties()方法返回该类型的所有属性,包括那些在基础类型中声明的属性。
  • getDeclaredProperties()方法用于获取该类型中声明的属性,对基础类型中声明的属性无效。
  • getProperty(String propertyName)方法返回一个特殊的属性,在没有指定名称的属性时返回null

类型接口

public interface Type

{

String getName();

String getURI();

Class getInstanceClass();

boolean isInstance(Object object);

boolean isDataType();

boolean isSequenced();

boolean isOpen();

boolean isAbstract();

List /*Type*/ getBaseTypes();

List /*String*/ getAliasNames();

List /*Property*/ getProperties();

List /*Property*/ getDeclaredProperties();

Property getProperty(String propertyName);

}

 

 

分享到:
评论

相关推荐

    SDO_SDO的JAVA实现规范

    SDO的Java实现规范详细阐述了如何在Java环境下构建和操作数据对象,涵盖了数据对象的创建、属性的读写、数据类型的转换以及与不同数据源的交互等方面。它还介绍了如何利用SDO的特性来提高数据处理效率,如数据缓存...

    SDO的JAVA实现规范

    "SDO_SDO的JAVA实现规范_V2.1.0_Pegasus.pdf"文档应该是SDO 2.1版的Java实现指南,涵盖了详细的概念、API用法和示例,是学习和理解SDO Java实现的重要参考资料。 ### 实战应用 在实际开发中,SDO可以用于构建灵活的...

    SDO_SDO的JAVA实现规范_V2.1.0(中文版).pdf

    ### SDO for Java 规范 该文档主要介绍了SDO在Java环境下的实现规范。版本号为2.1.0,发布于2006年11月。参与制定此规范的作者包括来自BEA Systems、IBM、Oracle、SAP等公司的专家。这些贡献者共同设计并定义了SDO...

    sdo的java实现规范

    **SDO for Java Specification 2.1.0** 规定了在Java环境下实现SDO的具体细节。主要包括以下方面: ##### 1. **接口和类的设计** - 本书详细介绍了SDO相关的接口和类的设计原则。 - 通过这些接口和类,开发者可以...

    SDO 规范标准说明书

    5. **跨语言兼容性**:尽管最初的规范是针对Java环境设计的,但SDO的理念和架构也适用于其他编程语言。 三、SDO规范的组成部分 SDO规范由多个部分组成,涵盖了数据模型定义、数据访问API、数据持久化策略等方面。...

    sdo规范及其应用介绍

    Service Data Object(SDO)是一种数据访问标准,由OASIS(Organization for the Advancement of Structured Information Standards)制定,旨在提供统一的数据访问框架,简化多源数据的处理。在分布式系统中,尤其...

    SOA SDO数据服务规范

    《SOA SDO数据服务规范》(Service Data Objects for Java Specification Version 2.01, November 2005)是由IBM、BEA Systems Inc.、SAP AG、Oracle Corporation、Siebel Systems Inc.、Xcalia和Sybase Inc.等业界...

    Oracle Spatial 中的SDO_GEOMETRY类型

    SDO_POINT 属性是使用 SDO_POINT_TYPE 对象类型定义的。当 SDO_ELEM_INFO 和 SDO_ORDINATES 都为 NULL 时,SDO_POINT 属性不是 NULL,那么 X 和 Y 值会被认为是一个点的坐标。 4. SDO_ELEM_INFO 属性 SDO_ELEM_...

    全部的SCA&SDO中文规范

    "SDO_SDO的JAVA实现规范"详细介绍了如何在Java环境中使用SDO,包括其API、数据模型和数据变化跟踪机制。SDO的主要目标是简化数据处理并增强数据服务的互操作性。 3. **其他标签**:"SOA"代表面向服务的架构,这是一...

    xtreme for java连接oracle spatial 空间数据库.doc

    xtreme for Java是一款Java开发工具,它提供了对各种数据库系统的访问接口,包括Oracle Spatial。它的主要优点在于简化了Java应用程序与数据库之间的交互,提供了高效的连接管理、事务处理和SQL执行能力。 要连接到...

    oracle-java数据类型1

    在 Oracle 数据库与 Java 应用程序交互时,理解 SQL 数据类型和它们对应的 JDBC 类型以及 Oracle 扩展的 Java 类型是至关重要的。这里我们将深入探讨这些概念,并提供一个全面的指南。 首先,JDBC(Java Database ...

    arcgis9.2在vista下的安装与arcgis engine sdk for java在eclipse 下的导入

    ### ArcGIS 9.2 在 Vista 操作系统下的安装及 ArcGIS Engine SDK for Java 在 Eclipse IDE 中的导入 #### ArcGIS 9.2 在 Vista 下的安装步骤与注意事项 ArcGIS 9.2 是一款广泛使用的地理信息系统软件,但在 Vista ...

    使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作

    "使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作" Oracle Spatial 是 Oracle 数据库中的一个空间数据处理组件,用于存储、管理和操作空间数据。ArcSDE 是一个空间数据引擎,用于存储和管理大规模...

    Service Data Objects (SDO) Programmer Guide

    - **SDO 1.0 规范**:详细介绍了 SDO 的规范标准,包括核心概念、数据模型、API 设计等内容。 - **发布说明**:记录了各个版本的重要更新,帮助开发者了解新特性及兼容性问题。 #### 四、参考文档 - **API 参考**...

    EMF-SDO-XSD-SDK-2.1.0(FOR ECLIPSE 3.1).ZIP

    2. **SDO(Service Data Objects)**:SDO是Java平台上的一个API,它定义了一套标准的数据访问接口和模型,使得应用程序可以独立于具体的数据源访问数据。SDO支持动态和静态两种模式,动态模式下,数据对象可以任意...

    tuscany-das&sdo&distribution-all.zip

    SDO,Service Data Objects,是一个由Oracle发起并被Java Community Process采纳的JSR(Java Specification Request)311。它定义了一种灵活的数据模型,以及用于在应用程序和数据源之间交换数据的一系列API。SDO...

    如何让使用SDO

    2. 数据中介服务:数据中介框架不属于 SDO 1.0 规范,常见的 DAS 有 JDBC DAS、实体 EJB DAS 和 XML DAS 等。 3. 数据源:数据源不限于后端数据源(如持久存储数据库)只有 DMS 访问数据源,SDO 应用程序不访问数据...

    SDO概述

    **SDO概述** SDO(Service Data Object)是Oracle公司推出的一种数据访问接口标准,全称为Service Data ...对于希望深入理解SDO的读者,可以参考提供的链接或阅读SDO规范文档(如`SDO规范.doc`)以获取更多信息。

    Oracle为sdo_geometry创建空间索引

    在创建空间索引之前,需要先创建一个包含 sdo_geometry 数据类型的表。sdo_geometry 是 Oracle 中的一种特殊数据类型,用于存储空间数据。例如,下面是一个创建包含 sdo_geometry 数据类型的表的示例: ```sql ...

    CANopen的SDO介绍

    CANopen的SDO介绍 CANopen是一种基于Controller Area Network(CAN)总线的通信协议,广泛应用于工业自动化、机器人、汽车电子等领域。其中,SDO(Service Data ...[2]SDO服务数据对象规范 [3]CAN总线通信协议规范

Global site tag (gtag.js) - Google Analytics