<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如鵬網(wǎng) 大學生計算機學習社區(qū)

    CowNew開源團隊

    http://www.cownew.com 郵件請聯(lián)系 about521 at 163.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      363 隨筆 :: 2 文章 :: 808 評論 :: 0 Trackbacks
    對象圖
    XStream支持對象圖,也就是“反序列化”一個對象的時候?qū)3衷瓉淼膶ο笠藐P(guān)系,這其中包括循環(huán)引用關(guān)系。?我們可以指定XStream是使用XPath還是IDs來實現(xiàn)對象引用的這種處理方式,指定的方式就是調(diào)用XStream的setMode方法,此方法有XStream.XPATH_REFERENCES、XStream.ID_REFERENCES、XStream.NO_REFERENCES三個選項。其意義分別如下:
    XStream.XPATH_REFERENCES:這是默認值。這個選項指定XStream使用XPath引用方式處理重復(fù)引用。
    XStream.ID_REFERENCES:這個選項指定XStream使用ID引用方式處理重復(fù)引用。當使用手寫XML的時候,這種方式可能更好用一些。?
    XStream.NO_REFERENCES:這個選項指定XStream不支持圖引用,將對象結(jié)構(gòu)當做樹狀處理。重復(fù)的引用將會被認為是兩個獨立的對象,而循環(huán)引用將會導(dǎo)致一個異常。這種方式速度會更快一些,并且相對于前兩者來說占用更少的內(nèi)存。
    自定義轉(zhuǎn)換器
    XStream對String, Date, int, boolean等基本類型以及Map, List, Set, Properties等集合類型提供了轉(zhuǎn)換器,因此這些類型可以輕松的實現(xiàn)序列化和反序列化。如果您使用的數(shù)據(jù)類型不被XStream支持,那么就需要自定義數(shù)據(jù)轉(zhuǎn)換器。自定義轉(zhuǎn)換器要實現(xiàn)com.thoughtworks.xstream.converters.Converter接口,這個接口定義了如下三個方法:
    boolean canConvert(Class type);
    void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context);
    Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context);
    這三個方法分別表示:type這個類型的數(shù)據(jù)此轉(zhuǎn)換器是否有能力轉(zhuǎn)換;將對象進行編組(marshal)為XML格式;將XML格式反編組(unmarshal)為對象。
    我們通常無需直接實現(xiàn)該接口,而是繼承com.thoughtworks.xstream.converters.MarshallingContext.AbstractBasicConverter抽象類,然后覆蓋:
    protected String toString(Object obj)
    protected Object fromString(String str);
    兩個方法即可。可以參考com.thoughtworks.xstream.converters.extended.SqlTimestampConverter的實現(xiàn)代碼。
    轉(zhuǎn)換器開發(fā)完畢以后調(diào)用XStream類的public void registerConverter(Converter converter)方法注冊轉(zhuǎn)換器。
    posted on 2007-02-13 09:38 CowNew開源團隊 閱讀(820) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲AV蜜桃永久无码精品| 韩国免费一级成人毛片| 亚洲av高清在线观看一区二区| 亚洲最大的黄色网| 久久精品国产免费观看三人同眠| 亚洲精品免费在线观看| 日韩免费高清大片在线| 亚洲男人天堂av| 青青草无码免费一二三区| 亚洲男人的天堂在线播放| 国产成人免费在线| 亚洲午夜国产精品无卡| 大香人蕉免费视频75| 自拍偷自拍亚洲精品播放| 免费一级做a爰片性色毛片| 日韩a毛片免费观看| 激情综合色五月丁香六月亚洲| 91国内免费在线视频| 亚洲av之男人的天堂网站| 最好看的中文字幕2019免费| 亚洲午夜久久久精品电影院| 最近高清国语中文在线观看免费| 久久久久亚洲精品无码网址色欲| 亚洲av无码乱码在线观看野外 | 久久精品亚洲AV久久久无码| 久久国产亚洲观看| 十九岁在线观看免费完整版电影| 亚洲欧洲精品在线| 四虎国产精品免费永久在线| 亚洲av综合av一区| a级毛片无码免费真人| 美女隐私免费视频看| 亚洲精品卡2卡3卡4卡5卡区| 久草视频在线免费| 日韩成人毛片高清视频免费看| 亚洲va在线va天堂va888www| 国产精品无码免费播放| 久香草视频在线观看免费| 亚洲综合无码一区二区| 性做久久久久免费看| 无码AV片在线观看免费|