`
lizhensan
  • 浏览: 382975 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

rcp adapters 扩展点

阅读更多

org.eclipse.core.runtime.adapters 

该扩展点,可以通过IAdapterFactory  把 类型转换这块代码 抽取出来,从而达到解除耦合。

 

原始做法:

public  class Model    implements IAdaptable{

 

     。。。。。

@Override

public Object getAdapter(Class adapter) {

 if。。return

                 if。。。return

          在这里if else

 

}

}

这样做扩展性不太好。

使用扩展点的方式:

 

public class Model   extends PlatformObject {。。。。}
这样就可以了。不用再if else
PlatformObject会从AdapterManager.getDefault().getAdapter(this, adapter);得到需要的类型。
在使用之前 需把IAdapterFactory注册到AdapterManager里。
可以通过代码的形式,也可以通过扩展点点形式。
代码注册:
Platform.getAdapterManager().registerAdapters(new AdapterFactory(), User.class);
扩展点注册:
<extension
         point="org.eclipse.core.runtime.adapters">
      <factory
            adaptableType="model.User"
            class="adapter.AdapterFactory">
         <adapter
               type="adapter.IAddress">
         </adapter>
      </factory>
   </extension>
扩展点是使用AdapterFactoryProxy 对IAdapterFactory进行了代理/包装。


总结
1:model  实现  PlatformObject
2:向AdapterManager中注册IAdapterFactory
从而实现动态的类型转换(适配)
分享到:
评论

相关推荐

    RCP 常见的扩展点指南

    "RCP 常见的扩展点指南" RCP(Rich Client Platform)是 Eclipse 基金会推出的一个基于 Java 的开源平台,旨在提供一个通用的客户端应用程序开发平台。RCP 的扩展点是其核心组成部分之一,本节将详细介绍 RCP 的...

    论文研究-Eclipse RCP的扩展点与扩展机制研究 .pdf

    Eclipse RCP的扩展点与扩展机制研究,金星善,库少平,RCP (Rich Client Platform) 是基于Eclipse开发平台而推出的一套用来开发富客户端程序的应用框架。Eclipse的插件机制,使得我们可以通过扩展Ecli

    RCP扩展点自定义

    ### RCP扩展点自定义详解 #### 一、引言 Eclipse 是一款非常流行的集成开发环境(IDE),因其强大的可扩展性和灵活性而备受开发者喜爱。Eclipse 的核心设计原则之一便是通过“扩展点”机制支持插件开发,从而允许...

    rcp自己通过扩展点新建java项目

    `rcp自己通过扩展点新建java项目`这个主题涉及了如何利用Eclipse的插件体系和扩展点机制来实现这一功能。Eclipse的插件系统基于OSGi框架,它允许开发者将功能模块化,而扩展点则是连接这些模块的桥梁,使得不同插件...

    整合eclipse扩展点

    "整合eclipse扩展点"这个主题深入探讨了如何利用Eclipse的插件机制,通过 SWT(Standard Widget Toolkit)和 RCP(Rich Client Platform)来构建自定义功能。SWT是Eclipse用于创建图形用户界面的库,而RCP则是基于...

    Eclipse扩展点

    扩展点可以应用于RCP应用开发,例如,一个插件提供了一个新的视图,其他插件可以通过扩展点来使用这个视图。 结论: 扩展点是Eclipse平台的一种机制,允许开发者扩展Eclipse的功能,提高Eclipse的灵活性和可扩展性...

    pde-examples:包含用于插件开发,RCP和扩展点创建的示例代码

    “pde-examples”是一个项目或库,专门用于提供插件开发、RCP(Rich Client Platform)应用程序以及扩展点创建的示例代码。这里的"PDE"是Platform Development Environment的缩写,是Eclipse框架下用于构建、调试和...

    RCP自定义透视图切换按钮的右键菜单

    本教程将详细介绍如何通过`org.eclipse.ui.presentationFactories`扩展点来实现这一目标,以及如何去除Editor的右键菜单和关闭按钮,提升用户体验。 透视图是Eclipse RCP中的一个重要概念,它定义了工作台窗口中各...

    rcp工程的描述

    总结来说,RCP是一种强大的开发平台,它利用`features`和`plugins`目录组织和管理代码,通过OSGi和扩展点机制实现模块间的交互,结合工作台和模型驱动开发,提供了一个高效、可扩展的桌面应用程序开发环境。...

    rcp欢迎界面

    intro扩展点是RCP应用程序中的一种扩展点,用于定义欢迎界面的内容和行为。intro扩展点由三个部分组成:intro、config和configExtension。intro部分定义了欢迎界面的基本信息,例如标题、图标和类名。config部分定义...

    RCP,RCP开发

    RCP提供了一个灵活的基础平台,允许开发者利用插件系统来扩展应用程序的功能,而无需从头开始编写整个用户界面。通过RCP,开发者可以专注于业务逻辑,而UI组件和框架已经由RCP提供,大大提高了开发效率。 **RCP核心...

    Eclipse RCP详细教程

    Eclipse RCP的核心是插件、扩展和扩展点的概念。这些概念是Eclipse RCP架构的基础,也是构建应用的关键组成部分。 - **插件**:在Eclipse RCP中,每个功能模块都被封装成一个独立的插件。这些插件包含了实现特定...

    eclipse RCP学习项目源码&amp;扩展控制台插件for eclipse3.5

    3. **扩展点(Extension Point)**:研究如何利用Eclipse的扩展点机制来插入自定义功能,如控制台插件。 4. **SWT和JFace**:掌握SWT(Standard Widget Toolkit)和JFace,它们是Eclipse GUI的基础,提供丰富的控件...

    Eclipse RCP开发教程

    Eclipse RCP 的核心理念是模块化和组件化,通过插件和扩展点机制实现应用程序的功能拆分和复用。 **1. 富客户端平台** 1.1. 概述 Eclipse RCP 提供了一种构建用户界面的方法,它基于 Java 技术,支持图形化界面和...

    Eclipse常用插件扩展点

    本篇文章将深入探讨Eclipse插件开发中的关键知识点,包括插件扩展点、RCP(Rich Client Platform)应用开发以及如何在Eclipse RCP中整合第三方库。 首先,让我们了解Eclipse插件扩展点。扩展点是Eclipse平台提供的...

    RCP程序设计自学RCP的教程

    Eclipse RCP的设计理念围绕着插件、扩展和扩展点,这意味着应用可以通过增加新的插件来实现功能的扩展和定制,从而满足不同的需求场景。 #### 二、构建你的第一个RCP程序 ##### 1. 创建一个RCP程序 在Eclipse IDE...

    RCP项目学习实例

    3. **扩展点和扩展**:了解Eclipse的扩展点机制,这是实现插件之间交互的关键。学习如何声明和使用扩展点,以及如何在插件中实现对其他插件的扩展。 4. **UI组件**:使用SWT(Standard Widget Toolkit)和JFace库...

    基于eclipse RCP实现的邮件管理客户端rcpmail

    7. **扩展点(Extension Points)**: RCP的可扩展性主要通过定义扩展点实现,其他插件可以注册到这些扩展点,添加新的功能或修改现有行为。rcpmail可能定义了一些扩展点,允许用户自定义邮件过滤规则或添加新的邮件...

    RCP编程入门(doc版)

    扩展点(Extension Point)是插件之间通信的桥梁,通过声明和实现扩展点,不同插件可以共享功能和数据。 **四、视图和编辑器** 视图(View)是用户界面中的一个区域,用于展示数据或提供操作界面。编辑器(Editor)...

    RCP中文入门教程.rar

    在“RCP中文入门教程.pdf”中,你可能会学习到如何创建一个新的RCP项目,编写插件,定义扩展点,创建视图和编辑器,以及如何管理和配置用户的首选项。教程还可能涵盖如何调试和打包RCP应用,以及如何利用Eclipse的...

Global site tag (gtag.js) - Google Analytics