<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 閱讀(911) 評論(0)  編輯  收藏 所屬分類: EMF

    主站蜘蛛池模板: 曰韩亚洲av人人夜夜澡人人爽| 免费看一区二区三区四区| 五月亭亭免费高清在线| 国产亚洲成av人片在线观看| 一级视频免费观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 国产精品亚洲片在线观看不卡| 免费看一级高潮毛片| 免费人成在线观看播放国产| 亚洲精品无码永久在线观看男男| 日韩精品成人无码专区免费| wwwxxx亚洲| 精品久久久久久久免费加勒比| 亚洲中文字幕乱码熟女在线| 免费看片A级毛片免费看| 爱情岛论坛亚洲品质自拍视频网站 | 中文字幕精品无码亚洲字| free哆拍拍免费永久视频| 亚洲午夜福利AV一区二区无码| 成人免费av一区二区三区| 久久久青草青青亚洲国产免观| 日韩精品免费视频| 91亚洲国产成人久久精品| 色窝窝免费一区二区三区 | 亚洲精品中文字幕无码AV| 99在线视频免费观看视频| 亚洲成a人一区二区三区| 国产成人综合亚洲一区| 亚洲综合激情另类专区| 免费无码又爽又刺激一高潮| 亚洲免费在线视频| 毛片免费全部播放一级| 羞羞视频免费网站日本| 亚洲大尺度无码专区尤物| 久久久久久夜精品精品免费啦 | 日本免费网站视频www区| 亚洲国产成人久久精品软件| 亚洲午夜无码片在线观看影院猛| 永久免费不卡在线观看黄网站| 亚洲videos| 亚洲婷婷五月综合狠狠爱|