16 Eclipse context

16.1 什麼是Eclipse context?java

        在啓動一個Eclipse applicaiton 的時候,Eclipse 運行時 會建立一個 實現了 IEclispeContext 接口的 Object 對象,這個Object對象被叫作 context 或者 Eclipse context數據結構

        context 相似與Map數據結構,某個對象能夠放在某個key下,key 是一個String類型,通常狀況下使用全類名做爲 key . key 對應的value 能夠被 注入到 其餘 objects 上 。和Map不一樣的是, Eclipse context 是具備層級的,而且 能夠動態計算 vaues app

        根據你的Application model 的結構,不一樣的上下文對象相互關聯造成一個具備層級關係的樹結構 ,最頂層 的是Application context .spa

    以下圖:orm

         在上下文樹結構中。Objects 能夠被添加到不一樣的層級上,容許相同的key 上添加不一樣的Objects.對象

16.2  哪些 model elements 擁有 本身的 context?接口

     下面這些model elements 實現了 MContext 接口,擁有本身的context:生命週期

  • MApplicationip

  • MWindow內存

  • MPerspective

  • MPart

  • MPopupMenu

16.3  Eclipse context 的生命週期

        Eclipse framework 在啓動時根據 Application model 建立 context 對象 。默認狀況下,context 包含一些預約義的 keys .

        Eclipse platform 自動建立 model objects 和 基於 class URL 的object .經過遍歷  帶有 custom context 的 model element ,Eclipse framework 決定 哪些objects 在 local context 是可見的。若是須要,Eclipse platform 將會根據 model elements 中的 Class URL 屬性 建立 所須要的 java objects.

        在Eclipse context  樹結構的初始建立以後,Eclipse framework或application 能夠更改存儲在context中的鍵值對。

        context 被初始化在內存中,當 applicaiton 中止的時候, context 對象被銷燬。

相關文章
相關標籤/搜索