您好,登錄后才能下訂單哦!
本篇內容介紹了“Java的類型方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
類型接口表達了一個數據對象模型或者數據類型的普通視圖。
大多數編程語言或者數據建模語言都有數據類型概念;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為其所支持的普通數據類型定義了類型(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
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);
}
“Java的類型方法有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。