bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Java的ChangeSummary怎么用

這篇文章主要講解了“Java的ChangeSummary怎么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java的ChangeSummary怎么用”吧!

成都創新互聯公司是一家集網站建設,景寧畬族自治企業網站建設,景寧畬族自治品牌網站建設,網站定制,景寧畬族自治網站建設報價,網絡營銷,網絡優化,景寧畬族自治網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

ChangeSummary提供了訪問數據圖中數據對象的更改歷史信息的機制。

更改歷史覆蓋了一個數據圖自日志被激活開始的所有修改情況。如果日志不再處于激活狀態,那么日志僅僅包括日志被凍結前的變更。否則它僅僅包括ChangeSummary被查詢以來的變更情況。盡管只有在日志激活時,變更信息才開始被采集,但是無論無論日志被激活還是被關閉,你都可以查詢變更信息。所有查詢返回的信息都是只讀的。

該接口具有下列方法:

  • 激活或凍結日志。

  • 當日志開始時,重建一個DataObjects樹,并且清除日志。

  • 查詢日志狀態。

  • 獲取ChangeSummary所屬的DataGraph。

  • 獲取ChangeSummary的根DataObject。

  • 獲取修改過的DataObject。

  • 指出是否一個數據對象已經被創建、刪除或被修改。

  • 在日志開始時,獲取容器類型的DataObject。

  • 在日志開始時,獲取DataObject所包含的屬性。

  • 在日志開始時,獲取DataObject的Sequence。

  • 獲取一個特殊的舊值。

  • 獲取一個舊值列表。

啟動或停止一個更改日志

beginLogging()方法清除ChangeSummary中變更DataObject的列表并且啟動一個更改日志。endLogging()方法停止更改日志。undoChanges()方法在日志開始時重建DataObject樹,undoChanges()方法同時也清除日志,但是對isLogging()方法沒有任何影響。

注意:beginLogging(), endLogging()以及 undoChanges()方法基本上是給服務實現使用的,這是由于服務定義了如何將ChangeSummary的處理與外部資源進行關聯。ChangeSummary如果不能捕獲產生的變更,這將可能會引起服務基于ChangeSummary的不完整信息去執行數據源的更新。

作用范圍(Scope)

ChangeSummary的作用范圍被定義為自ChangeSummary根開始的DataObject樹所包含的所有數據對象。ChangeSummary根對象是所有變更被跟蹤的源DataObject。可以通過getRootObject()方法獲取ChangeSummary根對象。該對象是下列之一:

  • 將ChangeSummary作為其屬性的一個值的數據對象。

  • 數據圖的根數據對象

舊值(Old Values)

使用getOldValues(DataObject dataObject)方法可以取得一個舊值列表。舊值的返回順序由實現具體決定。對于一個被刪除的DataObject,舊值列表包含了該DataObject的所有屬性。對于一個已經被修改過的DataObject來說,舊值列表僅僅包含被修改的屬性。對于那些沒有被刪除和修改的DataObject來說,舊值列表為空。

舊值被描述為ChangeSummary.Setting對象(ChangeSummary.Setting是ChangeSummary的一個內部接口)。每一個ChangeSummary.Setting都有一個屬性和一個值,同時還有一個用于指明屬性是否為集合的標記。

如果一個DataObject被刪除或修改,那么getOldValue(DataObject dataObject, Property property)方法將返回一個用于描述指定屬性的ChangeSummary.Setting,否則,它將返回null。如果舊值的setting.isSet()方法返回false,則該舊值沒有任何意義。

順序數據對象(Sequenced DataObject)

在日志開始時,getOldSequence(DataObject dataObject)方法將返回一個數據對象順序的全部值。返回值可能為null。如果DataObject.getSequence()方法返回null,那么getOldSequence(DataObject dataObject)方法將返回null。

序列化與反序列化

當ChangeSummary被反序列化時,如果XML文件中有元素,那么其日志狀態將為on,除非changeSummary標記日志為off。在下列條件下,一個序列化器必須在XML文件中生成一個元素:

  • 變更已經被日志記錄(getChangedDataObjects().size() > 0)。

  • 沒有變更被日志記錄,但是在序列化時,isLogging()方法為true。在該情況下,一個空或者 元素被建立。

日志的狀態被記錄進changeSummary元素的logging屬性。

ChangeSummary的序列化在日志啟動時,包含了足夠多的用來重構DataObject初始信息的信息。當日志啟動時,新創建的數據圖中的屬性標簽DataObject將不會被顯示出來,刪除的包含在ChangeSummary中的屬性標簽對象將不再包含在數據圖中。標簽可以是IDs,如果可用的話,也可以是sdo路徑表達式。

ChangeSummary元素的內容可以是一個被刪除的數據對象的深拷貝,也有可能是一個數據對象的原型,該原型僅僅擁有數據類型的變更以及已經改變過的屬性的值。

關聯更改摘要與數據對象

有兩種可能的方式用于關聯DataObject與ChangeSummary:

1、1、DataGraph使用getChangeSummary()方法獲取一個ChangeSummary。

該方法通常在對于DataObject樹而言ChangeSummary為外部的情況下采用。ChangeSummary從根數據對象開始跟蹤數據對象樹的變化,根數據對象可以通過DataGraph的 getRootObject()方法獲得。

2、DataObject的類型能夠包括一個用于包含ChangeSummary的屬性。

該方法常被用在ChangeSummary是DataObject樹的一部分的情形下,例如當一個根DataObject是一個消息頭,該消息頭同時包含DataObject以及 ChangeSummary這二者的消息體。ChangeSummary從包含該ChangeSummary的DataObject開始跟蹤DataObject樹的變化。

更改摘要接口

ChangeSummary接口提供了下列方法:

  • 檢查日志的狀態,或者開關日志;

  • 當日志開始時,重做日志里的所有變化;

  • 返回根DataObject和DataGraph;

  • 返回已經被修改、創建或刪除的DataObject;

  • 識別出已經發生的改變類型(修改、創建、刪除);

  • 返回已經被更改或刪除掉的數據對象的舊值;

public interface ChangeSummary

{

void beginLogging();

void endLogging();

boolean isLogging();

void undoChanges();

DataGraph getDataGraph();

DataObject getRootObject();

List /*DataObject*/ getChangedDataObjects();

boolean isCreated(DataObject dataObject);

boolean isDeleted(DataObject dataObject);

boolean isModified(DataObject dataObject);

DataObject getOldContainer(DataObject dataObject);

Property getOldContainmentProperty(DataObject dataObject);

Sequence getOldSequence(DataObject dataObject);

public interface Setting

{

Object getValue();

Property getProperty();

boolean isSet();

}

Setting getOldValue(DataObject DataObject, Property property);

List /*Setting*/ getOldValues(DataObject dataObject);

}

感謝各位的閱讀,以上就是“Java的ChangeSummary怎么用”的內容了,經過本文的學習后,相信大家對Java的ChangeSummary怎么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!

分享文章:Java的ChangeSummary怎么用
URL網址:http://vcdvsql.cn/article24/jhggce.html

成都網站建設公司_創新互聯,為您提供建站公司ChatGPT定制網站網站改版網站制作網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設