- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Eclipse插件开发中的Java项目模型
Eclipse插件开发中的Java项目模型
Java项目模型
Eclipse的项目有很多种,包括Java项目、C++项目、C#项目等,每种项目都有自己的特点。我们最常接触到的项目就是Java项目,因此我们重点来讲解一下Java项目模型。
Java模型是用来对与创建、编辑和构建Java程序相关联的对象进行建模的一些类。Java模型类是在org.eclipse.jdt.core中定义的。这些类实现资源的特定于Java的行为,并进一步将Java资源分解成模型元素。
Java模型的继承结构图如图3.13所示。
图3.13? Java模型的继承结构图
IJavaElement的子类接口还有IMethod、IType等,在这里没有全部列出。Java模型中的类结构比较简单,级次也非常少。
下面介绍一下各个接口的主要方法。
(1)?? IJavaElement
exists:判断元素是否存在。处理Java元素与处理资源对象相似。当使用Java元素时,实际上是在使用某些底层的模型对象的句柄。必须使用exists()来确定元素是否真正存在于工作空间中。
getElementName:返回元素的名称。
getJavaModel:返回其对应的JavaModel,返回值类型是IJavaModel。
getJavaProject:返回元素对应的Java工程,返回值类型是IJavaProject。
getParent:返回父元素,返回值类型是IJavaElement。
getResource:返回元素对应的资源,返回值类型是IResource。
(2)?? IClassFile
此接口代表编译后的class二进制文件。
isClass:判断是否是Java类。
isInterface:判断是否是接口。
(3)?? ICompilationUnit
此接口代表Java源文件。
getAllTypes:返回此文件中定义的所有类型,返回值类型是IType[]。一个Java文件中可以定义多个类型。
getPrimary:返回主类型,返回值类型是ICompilationUnit。
(4)?? IJavaModel
此接口表示根 Java 元素,对应于工作空间。是所有具有 Java 性质的项目的父类。它对于Java项目的作用和IWorkspaceRoot对于IProject的作用相似。
contains:判断是否存在指定的资源。
getJavaProject:返回指定名字的Java项目,返回值类型是IJavaProject。
getJavaProjects:返回所有的Java项目,返回值类型是IJavaProject[]。
getWorkspace:返回所在的工作空间。
(5)?? IJavaProject
此接口表示Java项目。
IJavaElement findElement(IPath path):返回项目的path路径下的Java元素。
IPackageFragment findPackageFragment(IPath path):返回项目的path路径下的IPackageFragment。
IPackageFragmentRoot findPackageFragmentRoot(IPath path):返回项目的path路径下的IPackageFragmentRoot。
findType:根据一个全名取得此元素的类型,此类有数个重载方法,返回值类型为IType。
getAllPackageFragmentRoots:返回所有的IPackageFragmentRoot,返回值类型是IPackageFragmentRoot[]。
getOutputLocation:返回输出路径,返回值类型是IPath。
getRequiredProjectNames:返回依赖项目,返回值类型是字符串数组。
setOutputLocation:设定输出路径。
(6)?? IPackageFragment
此接口表示整个包或者包的一部分。
createCompilationUnit:创建一个ICompilationUnit,返回值类型是ICompilationUnit。
getClassFile:返回指定名称对应的IClassFile,返回值类型是IClassFile。
getClassFiles:返回所有的IClassFile,返回值类型是IClassFile[]。
getCompilationUnit:返回指定名称对应的ICompilationUnit,返回值类型是ICompilationUnit。
getCompilationUnits:返回所有ICompilationUnit,返回值类型是ICompilationUnit[]。
getKind:判断此包是源码包
文档评论(0)