本篇内容介绍了“Java的类型方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
类型(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为假,并且使用了由代码生成器生成的代码,那么一个实例类是可选的。例如象PurchaseOrder和Customer这样的类。
别名——包含额外名字的字符串。在同一个URI内,别名必须是唯一的。
类型上所有基于名字进行操作的方法也可以使用别名进行操作。例如,一个类型可以被赋予一个该领域的别名:一个名为PurchaseOrderType的XML Schema,一个Java名PurchaseOrder和一个数据库表名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
, 和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 getBaseTypes();
List getAliasNames();
List getProperties();
List getDeclaredProperties();
Property getProperty(String propertyName);
}
“Java的类型方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!