`

[zt]org.eclipse.core.runtime.contentTypes扩展点详解

阅读更多

FROM:http://blog.matrix.org.cn/gh_aiyz/date/20060717

org.eclipse.core.runtime.contentTypes用于扩展系统支持的内容类型。

首先看一个example:  

xml 代码
  1. <extension point="org.eclipse.core.runtime.contentTypes">  
  2. <content-type id="ABC"  base-type="org.eclipse.core.runtime.xml"  file-extensions="a,b,c">  
  3. <describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">  
  4. <parameter name="element" value="abc"/>  
  5. </describer>  
  6. </content-type>  
  7. </extension>  

 

该extension支持以下attribute:

  • id - 该内容类型的唯一标识(即可以是全限定名,也可以是简名,简名会被自动加上当前plugin的namespace而成为全限定名). 不可包含空格。
  • base-type - 父类型的全限定名。 父类型的文件关联,content describer和默认字符集将会被继承,除非重定义了。
  • name - 人容易读懂的类型名,主要用于界面显示之类的作用。
  • file-extensions - 和该内容类型关联的文件扩展名列表,用逗号分割。
  • file-names - 和该内容类型关联的文件名列表,用逗号分割。
  • priority - 该内容类型的优先级,用于解决冲突(当多个内容类型关联到同一个文件名或者扩展名时)。
  • default-charset - 该内容类型的默认字符集。也可以是个空字符串,如果其父类型有默认字符集而该内容类型不应该有默认字符集。很方便的一个属性。等效于: 

    xml 代码
    1. <content-type>  
    2. <property name="org.eclipse.core.runtime.charset" default="charset-name"/>  
    3. </content-type>  

    即等效于通过property元素赋值。

  • describer - 实现了org.eclipse.core.runtime.content.IContentDescriberorg.eclipse.core.runtime.content.ITextContentDescriber的全限定类型。或是一个空字符串,如果其父类型有describer而该内容类型不应该有describer。
  • alias-for - 一个内容的全限定名。当前类型是该类型的别名。

它支持2个子元素:describer(最多一个)和property(n个)。

describer有两个属性,class代表全限定类名,plugin为提供该类的插件的id,一般为空,表示这个类由该插件自己提供。describer属性的优先级比describer子元素高,所以一旦设了describer属性,describer子元素会被自动忽略。

describer支持parameter子元素,但是这个describer必须实现IExecutableExtension接口才行,参看XMLRootElementContentDescriber的代码,他实现了IExecutableExtension.setInitializationData()方法。

以下是几个相关的接口:

IContentType -- 其实我们并不需要太关心这个接口,尽管它代表着一个content type,但是我们不需要继承或实现它,但是它将在对content type敏感的插件中用到。

IContentDescription -- 同样,我们也不需要实现这个接口,它用来包含被检查的数据的属性信息。它总是包含被检查数据的content type,这个由eclipse platform设置的。它通常还有可能包含一下信息,这些信息是由describer来填充的:

  1. 字符集
  2. byte order mark
  3. 其他第三方插件提供的property。

IContentDescriber/ITextContentDescriber -- 这两个接口是content type的validator和description填充者。后者为文本类型的content types专用。describer负责从content里面读取元数据并设到description中。其describe()方法可以返回三个值,这三个值都在IContentDescriber中定义,分别为

  1. INDETERMINATE -- 模糊不清
  2. VALID -- 有效
  3. INVALID -- 无效
分享到:
评论

相关推荐

    LF 验厂 ZT Tutorial.pdf

    LF 验厂 ZT Tutorial.pdf

    制作可执行的JAR文件包及jar命令详解zt.doc

    制作可执行的JAR文件包及jar命令详解zt.doc

    zt-exec-1.9-API文档-中文版.zip

    Maven坐标:org.zeroturnaround:zt-exec:1.9; 标签:zeroturnaround、zt、exec、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中...

    ZT V2.2.12.75 K95.rar

    《CAD智能识别与批量转换至PDF的高效工具详解》 在设计领域,CAD(Computer-Aided Design)软件是不可或缺的工具,它广泛应用于工程、建筑、制造等多个行业。随着技术的发展,CAD软件的功能日益强大,其中,智能化...

    用GDB调试程序(zt).pdf

    ### GDB调试程序详解 #### GDB概述与优势 GDB,全称为GNU Debugger,是GNU项目下的一款强大且开放源代码的调试工具,专为Unix及其类操作系统设计。相较于图形用户界面(GUI)的调试工具如Visual Studio或Borland ...

    变频器说明书大全系列-诚烨ZP6C-ZT9.rar

    这份说明书通常会涵盖以下几个关键知识点: 1. **产品介绍**:首先,文档会提供产品基本信息,包括变频器的规格参数,如最大功率、电压范围、电流能力等,以及其在不同领域的应用案例。 2. **工作原理**:变频器...

    zt-exec:ZeroTurnaround流程执行器

    ZT流程执行器 持续集成 快速概述 创建该项目是为了将上项目的类似功能合并到单个代码库中。 它被设计为功能强大,但仍易于使用。 通过使用单个类ProcessExecutor ,用户可以从java.lang.ProcessBuilder和获得功能。 ...

    jsp Servlet基础入门学习教程(ZT).txt

    从给定的文件信息中,我们可以提取出关于JSP(JavaServer Pages)和Servlet的基础入门学习教程的关键知识点,以下是对这些知识点的详细说明: ### 1. Java Servlet 的优势与特性 Servlet是一种运行在服务器端的...

    Linux 下编程的三个重要工具(ZT).rar_linux rar_linux 编程

    本资源"Linux下编程的三个重要工具(ZT)"似乎提供了一些关键工具的介绍,虽然具体细节未在描述中详述,但我们可以根据常见的编程工具来探讨这三个可能的重要工具。以下是Linux编程中经常使用的三大工具的详细讲解:...

    推挽输出与开漏输出的区别(zt) .doc

    推挽输出与开漏输出是数字电路中两种常见的输出类型,它们在电子设计中有着不同的应用和特性。本文将详细探讨这两种输出方式的区别及其应用场景。 首先,推挽输出(Push-Pull Output)是一种常见的输出结构,它使用...

    DSP开发当中几点经验总结(ZT).pdf

    在数字信号处理器(DSP)的开发过程中,有几点关键的经验和技巧值得开发者关注。首先,理解并充分利用长字运算指令,如DST、DLD和DSUB,它们对偶地址和奇地址有特定的要求,正确使用可以优化计算效率。其次,FRCT...

    DSP开发当中几点经验总结(ZT).docx

    延迟指令的使用也是一个关键点,确保它们在循环前的指令能够正确执行。对于直接寻址,注意DP值的变化,以及它是基于DP还是SP。另外,时刻注意SXM、OVM和INTM等特殊功能,它们在特定条件下会影响功耗。 汇编指令手册...

    zt.zip_判断

    在IT行业中,"zt.zip_判断"这个标题可能是指一个压缩文件,其中包含了用于执行某种判断逻辑的程序或数据。这个文件"zt.h"可能是C++、C或类似编程语言中的头文件,它可能包含了函数声明、常量定义或者枚举类型等,...

    ZT213/ZT213LEEA规格书V2.10-低功耗RS232多通道USB收发器/驱动器芯片手册

    《ZT213/ZT213LEEA:低功耗RS232多通道USB收发器/驱动器芯片详解》 ZT213/ZT213LEEA是一款专为低功耗应用设计的RS232多通道USB收发器和驱动器芯片,广泛应用于数据通信、工业控制、物联网设备等领域。本文将深入...

    zt-exec-1.9-API文档-中英对照版.zip

    Maven坐标:org.zeroturnaround:zt-exec:1.9; 标签:zeroturnaround、zt、exec、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

Global site tag (gtag.js) - Google Analytics