您好,登錄后才能下訂單哦!
數據圖(DataGraph)是擁有一個更改摘要(ChangeSummary)的數據對象圖的可選信封。
為了獲取僅包含數據對象的數據圖的同樣的功能,數據對象可以使用SDO 數據圖XSD進行定義。
如更改摘要章節所述,一個更改摘要可以直接使用在數據對象身上。
數據圖包含以下方法:
public interface DataGraph extends Serializable
{
DataObject getRootObject();
DataObject createRootObject(String namespaceURI, String typeName);
DataObject createRootObject(Type type);
ChangeSummary getChangeSummary();
Type getType(String uri, String typeName);
}
數據圖由DAS創建,DAS或者返回一個空數據圖,或者返回一個包含數據對象的數據圖。空數據圖能夠使用createRootObject()方法創建該數據圖的根對象。如果在創建根數據對象時,數據圖已經存在一個根數據對象,將會拋出一個IllegalStateException異常。
DAS也負責創建供數據對象和數據圖使用的元數據(數據模型)。例如,一個面向XML數據的DAS能夠基于XSD建立該XML文件的模型。
為了修改一個數據圖,程序需要使用getRootObject()方法訪問根數據對象。基于對根數據對象的包含內容引用的遞歸遍歷,該樹形結構內的其它數據對象都能夠被訪問到。
使用getType(String uri, String typeName)方法或通過TypeHelper可以訪問類型(Type)。這將返回一個含有恰當的URI和名字的類型(Type)。對于getType()方法或者所有擁有URI參數的方法而言,URI是一個如同targetNamespace這樣的邏輯名。
DataGraph、 TypeHelper和 DataObject的實現負責訪問包含所請求的元數據的物理資源。物理資源可能是一個本地拷貝或者是一個網絡資源。
基于實現所獨有的配置文件,可以提供從邏輯到物理映射的必須配置信息。
如果元數據不可用,那么將會產生一個實現所獨有的異常。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。