Class JavaUI


  • public final class JavaUI
    extends Object
    Central access point for the Java UI plug-in (id "org.eclipse.jdt.ui"). This class provides static methods for:
    • creating various kinds of selection dialogs to present a collection of Java elements to the user and let them make a selection.
    • opening a Java editor on a compilation unit.

    This class provides static methods and fields only; it is not intended to be instantiated or subclassed by clients.

    Restriction:
    This class is not intended to be instantiated by clients.
    • Field Detail

      • ID_PLUGIN

        public static final String ID_PLUGIN
        The id of the Java plug-in (value "org.eclipse.jdt.ui").
        See Also:
        Constant Field Values
      • ID_PERSPECTIVE

        public static final String ID_PERSPECTIVE
        The id of the Java perspective (value "org.eclipse.jdt.ui.JavaPerspective").
        See Also:
        Constant Field Values
      • ID_HIERARCHYPERSPECTIVE

        public static final String ID_HIERARCHYPERSPECTIVE
        The id of the Java hierarchy perspective (value "org.eclipse.jdt.ui.JavaHierarchyPerspective").
        See Also:
        Constant Field Values
      • ID_ACTION_SET

        public static final String ID_ACTION_SET
        The id of the Java action set (value "org.eclipse.jdt.ui.JavaActionSet").
        See Also:
        Constant Field Values
      • ID_ELEMENT_CREATION_ACTION_SET

        public static final String ID_ELEMENT_CREATION_ACTION_SET
        The id of the Java Element Creation action set (value "org.eclipse.jdt.ui.JavaElementCreationActionSet").
        Since:
        2.0
        See Also:
        Constant Field Values
      • ID_CODING_ACTION_SET

        public static final String ID_CODING_ACTION_SET
        The id of the Java Coding action set (value "org.eclipse.jdt.ui.CodingActionSet").
        Since:
        2.0
        See Also:
        Constant Field Values
      • ID_OPEN_ACTION_SET

        public static final String ID_OPEN_ACTION_SET
        The id of the Java action set for open actions (value "org.eclipse.jdt.ui.A_OpenActionSet").
        Since:
        2.0
        See Also:
        Constant Field Values
      • ID_SEARCH_ACTION_SET

        public static final String ID_SEARCH_ACTION_SET
        The id of the Java Search action set (value org.eclipse.jdt.ui.SearchActionSet").
        Since:
        2.0
        See Also:
        Constant Field Values
      • ID_CU_EDITOR

        public static final String ID_CU_EDITOR
        The editor part id of the editor that presents Java compilation units (value "org.eclipse.jdt.ui.CompilationUnitEditor").
        See Also:
        Constant Field Values
      • ID_CF_EDITOR

        public static final String ID_CF_EDITOR
        The editor part id of the editor that presents Java binary class files (value "org.eclipse.jdt.ui.ClassFileEditor").
        See Also:
        Constant Field Values
      • ID_SNIPPET_EDITOR

        public static final String ID_SNIPPET_EDITOR
        The editor part id of the code snippet editor (value "org.eclipse.jdt.ui.SnippetEditor").
        See Also:
        Constant Field Values
      • ID_MODULE_INFO_EDITOR

        public static final String ID_MODULE_INFO_EDITOR
        The editor part id of the module-info.java editor (value "org.eclipse.jdt.ui.ModuleInfoEditor").
        Since:
        3.14
        See Also:
        Constant Field Values
      • ID_MODULE_INFO_CF_EDITOR

        public static final String ID_MODULE_INFO_CF_EDITOR
        The editor part id of the module-info.class editor (value "org.eclipse.jdt.ui.ModuleInfoClassFileEditor").
        Since:
        3.14
        See Also:
        Constant Field Values
      • ID_MODULE_INFO_CF_EDITOR_NO_SOURCE

        public static final String ID_MODULE_INFO_CF_EDITOR_NO_SOURCE
        The editor part id of the module-info.class editor with no source (value "org.eclipse.jdt.ui.ModuleInfoClassFileEditorNoSource").
        Since:
        3.14
        See Also:
        Constant Field Values
      • ID_BROWSING_PERSPECTIVE

        public static String ID_BROWSING_PERSPECTIVE
        The id of the Java Browsing Perspective (value "org.eclipse.jdt.ui.JavaBrowsingPerspective").
        Since:
        2.0
      • ID_PROJECTS_VIEW

        public static String ID_PROJECTS_VIEW
        The view part id of the Java Browsing Projects view (value "org.eclipse.jdt.ui.ProjectsView").
        Since:
        2.0
      • ID_PACKAGES_VIEW

        public static String ID_PACKAGES_VIEW
        The view part id of the Java Browsing Packages view (value "org.eclipse.jdt.ui.PackagesView").
        Since:
        2.0
      • ID_TYPES_VIEW

        public static String ID_TYPES_VIEW
        The view part id of the Java Browsing Types view (value "org.eclipse.jdt.ui.TypesView").
        Since:
        2.0
      • ID_MEMBERS_VIEW

        public static String ID_MEMBERS_VIEW
        The view part id of the Java Browsing Members view (value "org.eclipse.jdt.ui.MembersView").
        Since:
        2.0
      • ID_USER_LIBRARY_PREFERENCE_PAGE

        public static final String ID_USER_LIBRARY_PREFERENCE_PAGE
        The preference page id of the user library preference page (value "org.eclipse.jdt.ui.preferences.UserLibraryPreferencePage").
        Since:
        3.4
        See Also:
        Constant Field Values
      • ID_CLASSPATH_VARIABLES_PREFERENCE_PAGE

        public static final String ID_CLASSPATH_VARIABLES_PREFERENCE_PAGE
        The preference page id of the class path variables preference page (value "org.eclipse.jdt.ui.preferences.ClasspathVariablesPreferencePage").
        Since:
        3.4
        See Also:
        Constant Field Values
      • ID_COMPILER_COMPLIANCE_PROPERTY_PAGE

        public static final String ID_COMPILER_COMPLIANCE_PROPERTY_PAGE
        Since:
        3.15
        See Also:
        Constant Field Values
      • ID_JAVA_BUILD_PREFERENCE_PROPERTY_PAGE

        public static final String ID_JAVA_BUILD_PREFERENCE_PROPERTY_PAGE
        Since:
        3.15
        See Also:
        Constant Field Values
      • ATTR_CMDLINE

        @Deprecated
        public static final String ATTR_CMDLINE
        Deprecated.
        As of 1.0
        The class org.eclipse.debug.core.model.IProcess allows attaching String properties to processes. The Java UI contributes a property page for IProcess that will show the contents of the property with this key. The intent of this property is to show the command line a process was launched with.
        See Also:
        Constant Field Values
    • Method Detail

      • getSharedImages

        public static ISharedImages getSharedImages()
        Returns the shared images for the Java UI.
        Returns:
        the shared images manager
      • createPackageDialog

        public static SelectionDialog createPackageDialog​(Shell parent,
                                                          IJavaProject project,
                                                          int style,
                                                          String filter)
                                                   throws JavaModelException
        Creates a selection dialog that lists all packages of the given Java project. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected package (of type IPackageFragment) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        project - the Java project
        style - flags defining the style of the dialog; the valid flags are: IJavaElementSearchConstants.CONSIDER_BINARIES, indicating that packages from binary package fragment roots should be included in addition to those from source package fragment roots; IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS, indicating that packages from required projects should be included as well.
        filter - the initial pattern to filter the set of packages. For example "com" shows all packages starting with "com". The meta character '?' representing any character and '*' representing any string are supported. Clients can pass an empty string if no filtering is required.
        Returns:
        a new selection dialog
        Throws:
        JavaModelException - if the selection dialog could not be opened
        Since:
        2.0
      • createPackageDialog

        public static SelectionDialog createPackageDialog​(Shell parent,
                                                          IRunnableContext context,
                                                          IJavaSearchScope scope,
                                                          boolean multipleSelection,
                                                          boolean removeDuplicates,
                                                          String filter)
        Creates a selection dialog that lists all packages of the given Java search scope. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected package (of type IPackageFragment) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        context - the runnable context to run the search in
        scope - the scope defining the available packages.
        multipleSelection - true if multiple selection is allowed
        removeDuplicates - true if only one package is shown per package name
        filter - the initial pattern to filter the set of packages. For example "com" shows all packages starting with "com". The meta character '?' representing any character and '*' representing any string are supported. Clients can pass an empty string if no filtering is required.
        Returns:
        a new selection dialog
        Since:
        3.2
      • createPackageDialog

        public static SelectionDialog createPackageDialog​(Shell parent,
                                                          IJavaProject project,
                                                          int style)
                                                   throws JavaModelException
        Creates a selection dialog that lists all packages of the given Java project. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected package (of type IPackageFragment) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        project - the Java project
        style - flags defining the style of the dialog; the valid flags are: IJavaElementSearchConstants.CONSIDER_BINARIES, indicating that packages from binary package fragment roots should be included in addition to those from source package fragment roots; IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS, indicating that packages from required projects should be included as well.
        Returns:
        a new selection dialog
        Throws:
        JavaModelException - if the selection dialog could not be opened
      • createPackageDialog

        public static SelectionDialog createPackageDialog​(Shell parent,
                                                          IPackageFragmentRoot root,
                                                          String filter)
                                                   throws JavaModelException
        Creates a selection dialog that lists all packages under the given package fragment root. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected package (of type IPackageFragment) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        root - the package fragment root
        filter - the initial pattern to filter the set of packages. For example "com" shows all packages starting with "com". The meta character '?' representing any character and '*' representing any string are supported. Clients can pass an empty string if no filtering is required.
        Returns:
        a new selection dialog
        Throws:
        JavaModelException - if the selection dialog could not be opened
        Since:
        2.0
      • createPackageDialog

        public static SelectionDialog createPackageDialog​(Shell parent,
                                                          IPackageFragmentRoot root)
                                                   throws JavaModelException
        Creates a selection dialog that lists all packages under the given package fragment root. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected package (of type IPackageFragment) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        root - the package fragment root
        Returns:
        a new selection dialog
        Throws:
        JavaModelException - if the selection dialog could not be opened
      • createMainTypeDialog

        public static SelectionDialog createMainTypeDialog​(Shell parent,
                                                           IRunnableContext context,
                                                           IJavaSearchScope scope,
                                                           int style,
                                                           boolean multipleSelection,
                                                           String filter)
        Creates a selection dialog that lists all types in the given scope containing a standard main method. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected type(s) (of type IType) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        context - the runnable context used to show progress when the dialog is being populated
        scope - the scope that limits which types are included
        style - flags defining the style of the dialog; the only valid values are IJavaElementSearchConstants.CONSIDER_BINARIES, CONSIDER_EXTERNAL_JARS, or their bitwise OR, or 0
        multipleSelection - true if multiple selection is allowed
        filter - the initial pattern to filter the set of types containing a main method. For example "App" shows all types starting with "app". The meta character '?' representing any character and '*' representing any string are supported. Clients can pass an empty string if no filtering is required.
        Returns:
        a new selection dialog
        Since:
        2.0
      • createMainTypeDialog

        public static SelectionDialog createMainTypeDialog​(Shell parent,
                                                           IRunnableContext context,
                                                           IJavaSearchScope scope,
                                                           int style,
                                                           boolean multipleSelection)
        Creates a selection dialog that lists all types in the given scope containing a standard main method. The caller is responsible for opening the dialog with Window.open, and subsequently extracting the selected type(s) (of type IType) via SelectionDialog.getResult.
        Parameters:
        parent - the parent shell of the dialog to be created
        context - the runnable context used to show progress when the dialog is being populated
        scope - the scope that limits which types are included
        style - flags defining the style of the dialog; the only valid values are IJavaElementSearchConstants.CONSIDER_BINARIES, CONSIDER_EXTERNAL_JARS, or their bitwise OR, or 0
        multipleSelection - true if multiple selection is allowed
        Returns:
        a new selection dialog
      • openInEditor

        public static IEditorPart openInEditor​(IJavaElement element)
                                        throws JavaModelException,
                                               PartInitException
        Opens an editor on the given Java element in the active page. Valid elements are all Java elements that are ISourceReference. For elements inside a compilation unit or class file, the parent is opened in the editor is opened and the element revealed. If there already is an open Java editor for the given element, it is returned.
        Parameters:
        element - the input element; either a compilation unit (ICompilationUnit) or a class file (IClassFile) or source references inside.
        Returns:
        returns the editor part of the opened editor or null if the element is not a ISourceReference or the file was opened in an external editor.
        Throws:
        PartInitException - if the editor could not be initialized or no workbench page is active
        JavaModelException - if this element does not exist or if an exception occurs while accessing its underlying resource
      • openInEditor

        public static IEditorPart openInEditor​(IJavaElement element,
                                               boolean activate,
                                               boolean reveal)
                                        throws JavaModelException,
                                               PartInitException
        Opens an editor on the given Java element in the active page. Valid elements are all Java elements that are ISourceReference. For elements inside a compilation unit or class file, the parent is opened in the editor is opened. If there already is an open Java editor for the given element, it is returned.
        Parameters:
        element - the input element; either a compilation unit (ICompilationUnit) or a class file (IClassFile) or source references inside.
        activate - if set, the editor will be activated.
        reveal - if set, the element will be revealed.
        Returns:
        returns the editor part of the opened editor or null if the element is not a ISourceReference or the file was opened in an external editor.
        Throws:
        PartInitException - if the editor could not be initialized or no workbench page is active
        JavaModelException - if this element does not exist or if an exception occurs while accessing its underlying resource
        Since:
        3.3
      • revealInEditor

        @Deprecated
        public static void revealInEditor​(IEditorPart part,
                                          ISourceReference element)
        Deprecated.
        use revealInEditor(IEditorPart, IJavaElement) instead
        Reveals the source range of the given source reference element in the given editor. No checking is done if the editor displays a compilation unit or class file that contains the given source reference. The editor simply reveals the source range denoted by the given source reference.
        Parameters:
        part - the editor displaying the compilation unit or class file
        element - the source reference element defining the source range to be revealed
      • revealInEditor

        public static void revealInEditor​(IEditorPart part,
                                          IJavaElement element)
        Reveals the given java element in the given editor. If the element is not an instance of ISourceReference this method result in a NOP. If it is a source reference no checking is done if the editor displays a compilation unit or class file that contains the source reference element. The editor simply reveals the source range denoted by the given element.
        Parameters:
        part - the editor displaying a compilation unit or class file
        element - the element to be revealed
        Since:
        2.0
      • getWorkingCopyManager

        public static IWorkingCopyManager getWorkingCopyManager()
        Returns the working copy manager for the Java UI plug-in.
        Returns:
        the working copy manager for the Java UI plug-in
      • getEditorInputJavaElement

        public static IJavaElement getEditorInputJavaElement​(IEditorInput editorInput)
        Returns the Java element wrapped by the given editor input.
        Parameters:
        editorInput - the editor input
        Returns:
        the Java element wrapped by editorInput or null if none
        Since:
        3.2
      • getEditorInputTypeRoot

        public static ITypeRoot getEditorInputTypeRoot​(IEditorInput editorInput)
        Returns the ITypeRoot wrapped by the given editor input.
        Parameters:
        editorInput - the editor input
        Returns:
        the ITypeRoot wrapped by editorInput or null if the editor input does not stand for a ITypeRoot
        Since:
        3.4
      • getBufferFactory

        @Deprecated
        public static IBufferFactory getBufferFactory()
        Deprecated.
        IBufferFactory has been replaced by WorkingCopyOwner. The Java UI plug-in uses the primary working copy owner that can be accessed with null in API's that require an owner
        Returns the buffer factory for the Java UI plug-in.
        Returns:
        the buffer factory for the Java UI plug-in
        Since:
        2.0
        See Also:
        IBufferFactory
      • getDocumentProvider

        public static IDocumentProvider getDocumentProvider()
        Returns the DocumentProvider used for Java compilation units.
        Returns:
        the DocumentProvider for Java compilation units.
        Since:
        2.0
        See Also:
        IDocumentProvider
      • setLibraryJavadocLocation

        @Deprecated
        public static void setLibraryJavadocLocation​(IPath archivePath,
                                                     URL url)
        Deprecated.
        Javadoc is now attached to the classpath entry. Evaluate the libraries classpath entry and reconfigure the Javadoc location there.
        Sets the Javadoc location for an archive with the given path.
        Parameters:
        archivePath - the path of the library; this can be an workspace path or an external path in case of an external library.
        url - the Javadoc location to set. This location should contain index.html and a file 'package-list'. null clears the current documentation location.
        Since:
        2.0
      • setLibraryJavadocLocations

        @Deprecated
        public static void setLibraryJavadocLocations​(IPath[] archivePaths,
                                                      URL[] urls)
        Deprecated.
        Javadoc is now attached to the classpath entry. Evaluate the libraries classpath entry and reconfigure the Javadoc location there.
        Sets the Javadoc locations for archives with the given paths.
        Parameters:
        archivePaths - the paths of the libraries. can be workspace paths or external paths in case of an external library.
        urls - the Javadoc locations to set. Each location corresponds to the archive path of the same index. A location should contain index.html and a file 'package-list'. null is a valid location entry and clears the current documentation location. The length of the location array must be equals to the number of archive paths passed.
        Since:
        3.0
      • setProjectJavadocLocation

        public static void setProjectJavadocLocation​(IJavaProject project,
                                                     URL url)
        Sets the Javadoc location for a Java project. This location is used for all types located in the project's source folders.
        Parameters:
        project - the project
        url - the Javadoc location to set. This location should contain index.html and a file 'package-list'. null clears the current documentation location.
        Since:
        2.1
      • getProjectJavadocLocation

        public static URL getProjectJavadocLocation​(IJavaProject project)
        Returns the Javadoc location for a Java project or null if no location is available. This location is used for all types located in the project's source folders.
        Parameters:
        project - the project
        Returns:
        the Javadoc location for a Java project or null
        Since:
        2.1
      • getJavadocBaseLocation

        public static URL getJavadocBaseLocation​(IJavaElement element)
                                          throws JavaModelException
        Returns the Javadoc base URL for an element. The base location contains the index file. This location doesn't have to exist. Returns null if no javadoc location has been attached to the element's library or project. Example of a returned URL is http://www.junit.org/junit/javadoc.
        Parameters:
        element - the element for which the documentation URL is requested.
        Returns:
        the base location
        Throws:
        JavaModelException - thrown when the element can not be accessed
        Since:
        2.0
      • getJavadocLocation

        public static URL getJavadocLocation​(IJavaElement element,
                                             boolean includeAnchor)
                                      throws JavaModelException
        Returns the Javadoc URL for an element. Example of a returned URL is http://www.junit.org/junit/javadoc/junit/extensions/TestSetup.html. This returned location doesn't have to exist. Returns null if no javadoc location has been attached to the element's library or project.
        Parameters:
        element - the element for which the documentation URL is requested.
        includeAnchor - If set, the URL contains an anchor for member references: http://www.junit.org/junit/javadoc/junit/extensions/TestSetup.html#run(junit.framework.TestResult). Note that this involves type resolving and is a more expensive call than without anchor.
        Returns:
        the Javadoc URL for the element
        Throws:
        JavaModelException - thrown when the element can not be accessed
        Since:
        2.0
      • getJavaElementClipboardTransfer

        public static Transfer getJavaElementClipboardTransfer()
        Returns the transfer instance used to copy/paste Java elements to and from the clipboard. Objects managed by this transfer instance are of type IJavaElement[]. So to access data from the clipboard clients should use the following code snippet:
           IJavaElement[] elements=
             (IJavaElement[])clipboard.getContents(JavaUI.getJavaElementClipboardTransfer());
         
        To put elements into the clipboard use the following snippet:
            IJavaElement[] javaElements= ...;
            clipboard.setContents(
             new Object[] { javaElements },
             new Transfer[] { JavaUI.getJavaElementClipboardTransfer() } );
         
        Returns:
        returns the transfer object used to copy/paste Java elements to and from the clipboard
        Since:
        3.0
      • getColorManager

        public static IColorManager getColorManager()
        Returns the color manager the Java UI plug-in which is used to manage any Java-specific colors needed for such things like syntax highlighting.
        Returns:
        the color manager to be used for Java text viewers
        Since:
        3.2