Eclipse插件开发JDT组件介绍

  • 介绍

JDT(Java Development Tools)是Eclipse中有关Java开发的一个组件,该组件中封装了大多数Java开发中的功能,也可以说它是Eclipse支持Java开发的核心组件。

本文将会介绍到:AST(Abstract Syntax Tree)、IProject、IJavaProject、IType等内容。

想了解更多Eclipse中的组件,可以在本站中搜索“Eclipse框架下的组件”。

下面先对几个重要的接口进行介绍。

  • AST

JDT组件使用AST将Java中的对象(接口、类、方法、属性等)建立了一系列的模型。通过AST可以把Java对象当做一个树,用访问节点的方式来修改。

  • IJavaElement
ijavaelement_tree
ijavaelement_tree

从上图中可以看到org.eclipse.jdt.core.IJavaElement接口是所有Java对象模型中的父,而且JDT中包含了所有的Java对象。

IType代表一个类

IMethod代表一个方法

IAnnotation代表一个注解

下面是一个可以创建一个Java类型的例子:

  • IPackageFragmentRoot

IPackageFragment createPackageFragment(String name, boolean force, IProgressMonitor monitor)throws JavaModelException; 该方法可以创建一个包(package),创建完之后需要调用接口IPackageFragment的保存(save)方法。

  • IParent
iparent_tree
iparent_tree

从上图中可以看到org.eclipse.jdt.core.IJavaProject并不是接口org.eclipse.core.resources.IProject的子接口,这一点一定要注意——IJavaProject和IProject是包含关系。

  • IContainer
icontainer_tree
icontainer_tree

从上图中可以看到,在Eclipse中文件夹(IFolder)和工程(IProject)以及工作空间(IWorkspaceRoot)是同等级的,都是属于容器(容器也是一种资源)。

  • IResource
iresource_tree
iresource_tree

org.eclipse.core.resources.IResource接口是Eclipse中所有资源(文件、文件夹、工程、workspace等)的父。

  • IProject

project.refreshLocal(IResource.DEPTH_INFINITE, monitor); 该方法可以刷新当前工程

未完待续。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注