Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to programmatically find a .java file in an Eclipse plugin from full classname?

Inside an Eclipse plugin, I'd like to open a file in editor.

I know the full package and class name

How can I determine the path of the .java file from this?

like image 624
Cedric Reichenbach Avatar asked Sep 02 '25 10:09

Cedric Reichenbach


2 Answers

Take a look at IJavaProject.findType( name ) method. Once you have an IType, you can use getPath or getResource methods to locate the file. This method searches across a project and everything visible from that project.

To search the whole workspace, iterate through all the Java projects in the workspace, calling the findType method on each in turn.

like image 146
Konstantin Komissarchik Avatar answered Sep 04 '25 22:09

Konstantin Komissarchik


You also need to know the source folder.

IProject prj = ResourcePlugin.getWorkspace().getRoot().getProject("project-name");
IFile theFile = prj.getFile(sourceFolder + packageName.replace('.','/') + className + ".java");

Generally you specify the file for an editor with an IFile. You can also ask an IFile for variants of the file's path.

like image 44
Chris Gerken Avatar answered Sep 04 '25 23:09

Chris Gerken