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

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

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

    eclipshine

    Eclipse主題站

    在EMF中為一個對象樹添加統一的事件響應

    EMF中進行模型對象通知的時候,有時候不僅僅模型對象改變時需要得到通知,模型對象的子對象(通過Containment關系包含起來的)發生改變的時候,也希望能夠得到同樣的通知。簡單的實現方式可以創建一個Adapter,通過遞歸的方式將其注冊在這個模型對象樹的每一個節點對象上,但是那樣做比較復雜,要同時處理添加和刪除Adapter的工作。

     

    EMF中提供了變通的方式,可以使用EContentAdapter類來幫助完成這個任務。如下例所示:

     

           public class ComponentAdapter extends EContentAdapter {

                  private Component component;

     

                  public void notifyChanged(Notification notification) {

                         super.notifyChanged(notification);

                         System.out.println(notification);

                         refresh();

                  }

     

                  public ComponentAdapter(Component component) {

                         component.eAdapters().add(this);

                  }

     

                  public void removeSelf() {

                         component.eAdapters().remove(this);

                  }

           }

     

    通過構造函數ComponentAdapter,可以將這個Adapter添加到Component這個模型對象上。當Component自身,或者Component的人和子孫節點發生改變的時候,notifyChanged都能被調用,處理接受通知的任務。
    實際上EContentAdapter不僅僅能夠被添加到一個EObject上,還能夠被添加到Resource甚至ResourceSet上,它都能夠自動的把自身添加到每一個節點上,以響應事件,當其被刪除時,它也能夠自動的將其自身從每一個子節點上刪除。

    posted on 2005-07-29 15:40 Living Not Striving 閱讀(913) 評論(0)  編輯  收藏 所屬分類: EMF

    主站蜘蛛池模板: 久久久免费的精品| 色婷婷精品免费视频| 国产aⅴ无码专区亚洲av| 亚洲人成影院在线| 亚洲www在线观看| 青青视频免费在线| 免费一区二区视频| 亚洲人成电影在在线观看网色| 最近免费中文字幕MV在线视频3| 人妻视频一区二区三区免费| 丁香亚洲综合五月天婷婷| 亚洲中文字幕久久精品无码喷水| 亚洲精品高清国产麻豆专区| 在线播放国产不卡免费视频| 蜜臀98精品国产免费观看| 免费人成无码大片在线观看| 日韩免费高清一级毛片| 成年人视频免费在线观看| 一本色道久久综合亚洲精品高清| 亚洲偷自精品三十六区| 成人一a毛片免费视频| 亚洲av无码一区二区乱子伦as| 黄色a三级三级三级免费看| 亚洲日韩VA无码中文字幕| 亚洲日韩精品无码专区加勒比☆| 国产精品综合专区中文字幕免费播放| 日本一区二区在线免费观看| 自拍偷自拍亚洲精品情侣| 亚欧免费一级毛片| 亚洲an日韩专区在线| ww在线观视频免费观看| 婷婷精品国产亚洲AV麻豆不片| 国产裸体美女永久免费无遮挡| 久久国产精品亚洲一区二区| 无人在线观看完整免费版视频| 久久久久亚洲精品美女| 免费电影在线观看网站| www在线观看免费视频| 无码专区一va亚洲v专区在线| 中文字幕日本人妻久久久免费| 亚洲校园春色另类激情|