关键词不能为空

当前您在: 主页 > 英语 >

Eclipse插件开发中的Java项目模型

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:57
tags:

-

2021年2月28日发(作者:唱独角戏)



Eclipse


插件开发中的


Java


项目模型




Eclipse


插件开发中的


Java


项目模型是比较重要的内容,也是我们最长接触到的。本文将详细的为大家讲解


Java


项目模型。



AD





Java


项目模型




Eclipse


的项目有很多种,包 括


Java


项目、


C++


项目、


C#


项目等,每种项目都有自己的特点。我们 最常接触


到的项目就是


Java


项目, 因此我们重点来讲解一下


Java


项目模型。

< br>


Java


模型是用来对与创建、编辑和构建

< p>
Java


程序相关联的对象进行建模的一些类。


J ava


模型类是在中定义


的。这些类实现资源的特定于


Java


的行为,并进一步将


Java


资源分解成模型元素。



Java


模型的继承结构图如图所示。






Java


模型的继承结构图



IJav aElement


的子类接口还有


IMethod



IType


等,在这里没有全部列出。

< p>
Java


模型中的类结构比较简单,


级次也非常少 。



下面介绍一下各个接口的主要方法。



(1)



IJavaElement



exists

:判断元素是否存在。处理


Java


元素与处理资源对象相 似。当使用


Java


元素时,实际上是在使用某


些底层的模型对象的句柄。必须使用


exists()


来确定元素是否真正存在于工作空间中。



getElemen tName


:返回元素的名称。



ge tJavaModel


:返回其对应的


JavaModel


,返回值类型是


IJavaModel


。< /p>





getJ avaProject


:返回元素对应的


Java


工程,返回值类型是


IJavaProject


。< /p>



getParent


:返回父元素,返 回值类型是


IJavaElement




getResource


:返回元素对应的资源,返回值类 型是


IResource




(2)



IClassFile



此接口代表编译后的


class


二进制文件。



isClass

< p>
:判断是否是


Java


类。



isInterface


:判断是否是接口。



(3)



ICompilationUnit



此接口代表

< p>
Java


源文件。



ge tAllTypes


:返回此文件中定义的所有类型,返回值类型是

IType[]


。一个


Java


文 件中可以定义多个类型。



getPrimary


:返回主类型,返回值类型是


ICompilationUnit

< p>



(4)



IJavaModel



此接口表示根


Java


元素,对应于工作空间。是所有具有


Java


性质的项目的父类。它对于


Java


项目的作用



IWorkspaceRoot


对于


IProject


的作用相似。



contains


:判断是否存在指定的资源。



getJavaProject


:返回指定名字的


Java


项目,返回值类型是


IJavaProje ct




getJavaProjec ts


:返回所有的


Java


项目,返回 值类型是


IJavaProject[]



getWorkspace


:返回所在的工作空间。



(5)



IJavaProject



此接口表示

Java


项目。



IJavaElement findElement(IPath path)


:返回项目的


path


路径下的


Java


元素。





IPackageFragment findPackageFragment(IPath path)


:返回项目的


path


路径下的


IPackageFra gment




IPackageFragmentRoot findPackageFragmentRoot(IPath path)


:返回项 目的


path


路径下的


IPackag eFragmentRoot




fi ndType


:根据一个全名取得此元素的类型,此类有数个重载方法,返回值类型为< /p>


IType




getAllPackageFragmentRoots



返 回所有的


IPackageFragmentRoot



返回值类型是


IPackageFragmentRoot[]




getOutputLocation< /p>


:返回输出路径,返回值类型是


IPath




getRequiredProjectNames


:返回依赖项目,返回值类型是字符串数组。


setOutputLocation


:设定输出路径。



(6)



IPackageFragment



此接口表示整个包或者包的一部分。



createCompilationUnit


:创建一个


IC ompilationUnit


,返回值类型是


ICompil ationUnit




getCla ssFile


:返回指定名称对应的


IClassFile


,返回值类型是


IClassFile


。< /p>



getClassFiles


:返回所 有的


IClassFile


,返回值类型是

IClassFile[]




g etCompilationUnit


:返回指定名称对应的


I CompilationUnit


,返回值类型是


ICompi lationUnit




getCo mpilationUnits


:返回所有


ICompilat ionUnit


,返回值类型是


ICompilationUn it[]




getKind


:判断此包是源码包还是普通包,返回值是


int


型,如等于


IPackage-


则是源文件包,如等于则为


普通包。



hasSubpackages


:是否有子包。



(7)



IPackageFragmentRoot



此接口表示一 组包段,并将各段映射至底层资源,它可以是文件夹、


JAR



ZIP


文件。



createPackageFragment


:创建一个


I PackageFragment


,返回值类型是


IPacka ge- Fragment






getKind


:此包段是源码包段 还是二进制包段,返回值类型是


int


,如果等于则是源文件包 段,如果等于


IPackageFragment-


则为二进制包段。



getPacka geFragment


:根据包名返回对应的


IPackage Fragment




常用工具类



(1)



JavaCore(


定义在包下


)


< /p>


JavaCore



Plugin


继承,它是


JDT


插件的生命周期管理器。不 过对于第三方插件开发人员来说,它的重要


性更多地体现在它提供的一些工具类方法中。



IJavaElement create(IFile f ile)


:从文件创建对应的


Java


元素。



IJavaElement create(IFolder folder)


:从文件夹创建对应的


Java


元素。



IJavaProject create(IProject project)


:得到


IProject


对应的

< p>
IJavaProject




IJavaElement create(IResource resource)


:从资源创建对应的


Java


元素。< /p>



IJavaModel create(IWorkspaceRoot root)


:从工作空间根目录得到对 应的


IJavaModel




IClassFile createClassFileFrom(IFile fi le)


:从文件创建对应的


IClassFile




ICompilationUnit createCompilationUnitFrom(IFile file)


:从 文件创建对应的


ICompilationUnit




style=



JavaUI(


定义在包下


)



JavaUI


中定义了常用的


Java


插件界面相关的方法。



createPac kageDialog


:创建一个包选择对话框,返回值是


Se lectionDialog




cr eateTypeDialog


:创建一个类型选择对话框,返回值是

< br>SelectionDialog




IEditorPart openInEditor(IJavaElement e lement)


:用编辑器打开指定的


Java


元素并返回编辑器实例。



revealInEditor(IEditorPart part, IJavaElement element)


:在编辑器中定位元素

< br>element




插件开发中 经常会碰到一些常用的技巧,掌握这些技巧可以极大地提高插件的开发效率,并且可以减小插件

< br>的体积。下面列出一些常见的技巧。





(1)




由一个普通项目得到


Java


项目



Java


项目是一种特殊的项目,


需要注意的是


IJavaProject


并不 是从


IProject


继承的。


不能将 一个


IProject


对象强制转换成一个

IJavaProject


对象,也不能把一个


IJava Project


实例赋值给


IProject

< br>变量。




IProject< /p>


项目得到


Java


项目的方式:



IJavaProject javaPoject = (IProject);




IJa vaProject


得到


IProject

的方式:



调用


IJavaPro ject



IProject getProject();



(2)


得到工作空间中的所有


Java


项目



我们可以首先得到工作空间中的所有项目,然后逐个进行转换。不过这不免麻烦了一些, 下面介绍更好的方


式。


IJavaModel

< br>是所有


Java


项目的根,通过它就可以得到所有的


Java


项目:



1.



2.



3.



IWorkspaceRoot


root



=


().getRoot();



IJavaModel


jModel



=


(root);



IJavaProject


jProject[]


=


();



(3)




打开


Java


编辑器并显示


Java< /p>


编译单元的特定成员



代码如下:



1.



2.



3.



4.



5.



void


showMethod(IMember


member)


{







ICompilationUnit


cu



=


();







IEditorPart


javaEditor



=


(cu);







(javaEditor,


member);



}



(4)




在工程下创建一个包,并创建一个文件



(5)




打开【打开类型】对话框



以下代码段使用



JavaUI



类来打开【打开类型】对话框:



1.



2.



new


ProgressMonitorDialog(parent),




(),



-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:57,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679119.html

Eclipse插件开发中的Java项目模型的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文