X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/JavaUI.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/JavaUI.java new file mode 100644 index 0000000..23ff50e --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/ui/JavaUI.java @@ -0,0 +1,702 @@ +/******************************************************************************* + * Copyright (c) 2000, 2003 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package net.sourceforge.phpdt.ui; + +import net.sourceforge.phpdt.core.IBufferFactory; +import net.sourceforge.phpdt.core.IJavaElement; +import net.sourceforge.phpdt.core.IWorkingCopy; +import net.sourceforge.phpdt.core.JavaModelException; +import net.sourceforge.phpeclipse.PHPCore; +import net.sourceforge.phpeclipse.PHPeclipsePlugin; +import net.sourceforge.phpeclipse.phpeditor.EditorUtility; +import net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.internal.SharedImages; +import org.eclipse.ui.texteditor.IDocumentProvider; + +/** + * Central access point for the Java UI plug-in (id "org.eclipse.jdt.ui"). + * This class provides static methods for: + * + *

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

+ */ +public final class JavaUI { + + private static ISharedImages fgSharedImages= null; + + private JavaUI() { + // prevent instantiation of JavaUI. + } + + /** + * The id of the Java plugin (value "org.eclipse.jdt.ui"). + */ +// public static final String ID_PLUGIN= "org.eclipse.jdt.ui"; //$NON-NLS-1$ + + /** + * The id of the Java perspective + * (value "org.eclipse.jdt.ui.JavaPerspective"). + */ +// public static final String ID_PERSPECTIVE= "org.eclipse.jdt.ui.JavaPerspective"; //$NON-NLS-1$ + + /** + * The id of the Java hierarchy perspective + * (value "org.eclipse.jdt.ui.JavaHierarchyPerspective"). + */ +// public static final String ID_HIERARCHYPERSPECTIVE= "org.eclipse.jdt.ui.JavaHierarchyPerspective"; //$NON-NLS-1$ + + /** + * The id of the Java action set + * (value "org.eclipse.jdt.ui.JavaActionSet"). + */ +// public static final String ID_ACTION_SET= "org.eclipse.jdt.ui.JavaActionSet"; //$NON-NLS-1$ + + /** + * The id of the Java Element Creation action set + * (value "org.eclipse.jdt.ui.JavaElementCreationActionSet"). + * + * @since 2.0 + */ +// public static final String ID_ELEMENT_CREATION_ACTION_SET= "org.eclipse.jdt.ui.JavaElementCreationActionSet"; //$NON-NLS-1$ + + /** + * The id of the Java Coding action set + * (value "org.eclipse.jdt.ui.CodingActionSet"). + * + * @since 2.0 + */ +// public static final String ID_CODING_ACTION_SET= "org.eclipse.jdt.ui.CodingActionSet"; //$NON-NLS-1$ + + /** + * The id of the Java action set for open actions + * (value "org.eclipse.jdt.ui.A_OpenActionSet"). + * + * @since 2.0 + */ +// public static final String ID_OPEN_ACTION_SET= "org.eclipse.jdt.ui.A_OpenActionSet"; //$NON-NLS-1$ + + /** + * The id of the Java Search action set + * (value org.eclipse.jdt.ui.SearchActionSet"). + * + * @since 2.0 + */ +// public static final String ID_SEARCH_ACTION_SET= "org.eclipse.jdt.ui.SearchActionSet"; //$NON-NLS-1$ + + /** + * The editor part id of the editor that presents Java compilation units + * (value "org.eclipse.jdt.ui.CompilationUnitEditor"). + */ +// public static final String ID_CU_EDITOR= "net.sourceforge.phpdt.ui.PHPUnitEditor"; //$NON-NLS-1$ + + /** + * The editor part id of the editor that presents Java binary class files + * (value "org.eclipse.jdt.ui.ClassFileEditor"). + */ +// public static final String ID_CF_EDITOR= "org.eclipse.jdt.ui.ClassFileEditor"; //$NON-NLS-1$ + + /** + * The editor part id of the code snippet editor + * (value "org.eclipse.jdt.ui.SnippetEditor"). + */ +// public static final String ID_SNIPPET_EDITOR= "org.eclipse.jdt.ui.SnippetEditor"; //$NON-NLS-1$ + + /** + * The view part id of the Packages view + * (value "org.eclipse.jdt.ui.PackageExplorer"). + *

+ * When this id is used to access + * a view part with IWorkbenchPage.findView or + * showView, the returned IViewPart + * can be safely cast to an IPackagesViewPart. + *

+ * + * @see IPackagesViewPart + * @see org.eclipse.ui.IWorkbenchPage#findView(java.lang.String) + * @see org.eclipse.ui.IWorkbenchPage#showView(java.lang.String) + */ + public static final String ID_PACKAGES= "net.sourceforge.phpdt.ui.PackageExplorer"; //$NON-NLS-1$ + + /** + * The view part id of the type hierarchy part. + * (value "org.eclipse.jdt.ui.TypeHierarchy"). + *

+ * When this id is used to access + * a view part with IWorkbenchPage.findView or + * showView, the returned IViewPart + * can be safely cast to an ITypeHierarchyViewPart. + *

+ * + * @see ITypeHierarchyViewPart + * @see org.eclipse.ui.IWorkbenchPage#findView(java.lang.String) + * @see org.eclipse.ui.IWorkbenchPage#showView(java.lang.String) + */ +// public static final String ID_TYPE_HIERARCHY= "org.eclipse.jdt.ui.TypeHierarchy"; //$NON-NLS-1$ + + /** + * The id of the Java Browsing Perspective + * (value "org.eclipse.jdt.ui.JavaBrowsingPerspective"). + * + * @since 2.0 + */ +// public static String ID_BROWSING_PERSPECTIVE= "org.eclipse.jdt.ui.JavaBrowsingPerspective"; //$NON-NLS-1$ + + /** + * The view part id of the Java Browsing Projects view + * (value "org.eclipse.jdt.ui.ProjectsView"). + * + * @since 2.0 + */ +// public static String ID_PROJECTS_VIEW= "org.eclipse.jdt.ui.ProjectsView"; //$NON-NLS-1$ + + /** + * The view part id of the Java Browsing Packages view + * (value "org.eclipse.jdt.ui.PackagesView"). + * + * @since 2.0 + */ +// public static String ID_PACKAGES_VIEW= "org.eclipse.jdt.ui.PackagesView"; //$NON-NLS-1$ + + /** + * The view part id of the Java Browsing Types view + * (value "org.eclipse.jdt.ui.TypesView"). + * + * @since 2.0 + */ +// public static String ID_TYPES_VIEW= "org.eclipse.jdt.ui.TypesView"; //$NON-NLS-1$ + + /** + * The view part id of the Java Browsing Members view + * (value "org.eclipse.jdt.ui.MembersView"). + * + * @since 2.0 + */ +// public static String ID_MEMBERS_VIEW= "org.eclipse.jdt.ui.MembersView"; //$NON-NLS-1$ + + /** + * 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. + * @deprecated + */ +// public final static String ATTR_CMDLINE= "org.eclipse.jdt.ui.launcher.cmdLine"; //$NON-NLS-1$ + + /** + * Returns the shared images for the Java UI. + * + * @return the shared images manager + */ + public static ISharedImages getSharedImages() { + if (fgSharedImages == null) + fgSharedImages= new SharedImages(); + + return fgSharedImages; + } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param project the Java project + * @param 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. + * @param 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. + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + * + * @since 2.0 + */ +// public static SelectionDialog createPackageDialog(Shell parent, IJavaProject project, int style, String filter) throws JavaModelException { +// Assert.isTrue((style | IJavaElementSearchConstants.CONSIDER_BINARIES | IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS) == +// (IJavaElementSearchConstants.CONSIDER_BINARIES | IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS)); +// +// IPackageFragmentRoot[] roots= null; +// if ((style & IJavaElementSearchConstants.CONSIDER_REQUIRED_PROJECTS) != 0) { +// roots= project.getAllPackageFragmentRoots(); +// } else { +// roots= project.getPackageFragmentRoots(); +// } +// +// List consideredRoots= null; +// if ((style & IJavaElementSearchConstants.CONSIDER_BINARIES) != 0) { +// consideredRoots= Arrays.asList(roots); +// } else { +// consideredRoots= new ArrayList(roots.length); +// for (int i= 0; i < roots.length; i++) { +// IPackageFragmentRoot root= roots[i]; +// if (root.getKind() != IPackageFragmentRoot.K_BINARY) +// consideredRoots.add(root); +// +// } +// } +// +// int flags= JavaElementLabelProvider.SHOW_DEFAULT; +// if (consideredRoots.size() > 1) +// flags= flags | JavaElementLabelProvider.SHOW_ROOT; +// +// List packages= new ArrayList(); +// Iterator iter= consideredRoots.iterator(); +// while(iter.hasNext()) { +// IPackageFragmentRoot root= (IPackageFragmentRoot)iter.next(); +// packages.addAll(Arrays.asList(root.getChildren())); +// } +// ElementListSelectionDialog dialog= new ElementListSelectionDialog(parent, new JavaElementLabelProvider(flags)); +// dialog.setIgnoreCase(false); +// dialog.setElements(packages.toArray()); // XXX inefficient +// dialog.setFilter(filter); +// return dialog; +// } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param project the Java project + * @param 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. + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + */ +// public static SelectionDialog createPackageDialog(Shell parent, IJavaProject project, int style) throws JavaModelException { +// return createPackageDialog(parent, project, style, ""); //$NON-NLS-1$ +// } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param root the package fragment root + * @param 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. + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + * + * @since 2.0 + */ +// public static SelectionDialog createPackageDialog(Shell parent, IPackageFragmentRoot root, String filter) throws JavaModelException { +// ElementListSelectionDialog dialog= new ElementListSelectionDialog(parent, new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT)); +// dialog.setIgnoreCase(false); +// dialog.setElements(root.getChildren()); +// dialog.setFilter(filter); +// return dialog; +// } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param root the package fragment root + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + */ +// public static SelectionDialog createPackageDialog(Shell parent, IPackageFragmentRoot root) throws JavaModelException { +// return createPackageDialog(parent, root, ""); //$NON-NLS-1$ +// } + + /** + * Creates a selection dialog that lists all types in the given scope. + * The caller is responsible for opening the dialog with Window.open, + * and subsequently extracting the selected type(s) (of type + * IType) via SelectionDialog.getResult. + * + * @param parent the parent shell of the dialog to be created + * @param context the runnable context used to show progress when the dialog + * is being populated + * @param scope the scope that limits which types are included + * @param style flags defining the style of the dialog; the only valid values are + * IJavaElementSearchConstants.CONSIDER_CLASSES, + * CONSIDER_INTERFACES, or their bitwise OR + * (equivalent to CONSIDER_TYPES) + * @param multipleSelection true if multiple selection is allowed + * @param filter the initial pattern to filter the set of types. For example "Abstract" shows + * all types starting with "abstract". The meta character '?' representing any character and + * '*' representing any string are supported. Clients can pass an empty string if no filtering + * is required. + * @exception JavaModelException if the selection dialog could not be opened + * + * @since 2.0 + */ +// public static SelectionDialog createTypeDialog(Shell parent, IRunnableContext context, IJavaSearchScope scope, int style, boolean multipleSelection, String filter) throws JavaModelException { +// int elementKinds= 0; +// if (style == IJavaElementSearchConstants.CONSIDER_TYPES) { +// elementKinds= IJavaSearchConstants.TYPE; +// } else if (style == IJavaElementSearchConstants.CONSIDER_INTERFACES) { +// elementKinds= IJavaSearchConstants.INTERFACE; +// } else if (style == IJavaElementSearchConstants.CONSIDER_CLASSES) { +// elementKinds= IJavaSearchConstants.CLASS; +// } else { +// Assert.isTrue(false, "illegal style"); //$NON-NLS-1$ +// } +// if (multipleSelection) { +// MultiTypeSelectionDialog dialog= new MultiTypeSelectionDialog(parent, context, elementKinds, scope); +// dialog.setMessage(JavaUIMessages.getString("JavaUI.defaultDialogMessage")); //$NON-NLS-1$ +// dialog.setFilter(filter); +// return dialog; +// } else { +// TypeSelectionDialog dialog= new TypeSelectionDialog(parent, context, elementKinds, scope); +// dialog.setMessage(JavaUIMessages.getString("JavaUI.defaultDialogMessage")); //$NON-NLS-1$ +// dialog.setFilter(filter); +// return dialog; +// } +// } + + /** + * Creates a selection dialog that lists all types in the given scope. + * The caller is responsible for opening the dialog with Window.open, + * and subsequently extracting the selected type(s) (of type + * IType) via SelectionDialog.getResult. + * + * @param parent the parent shell of the dialog to be created + * @param context the runnable context used to show progress when the dialog + * is being populated + * @param scope the scope that limits which types are included + * @param style flags defining the style of the dialog; the only valid values are + * IJavaElementSearchConstants.CONSIDER_CLASSES, + * CONSIDER_INTERFACES, or their bitwise OR + * (equivalent to CONSIDER_TYPES) + * @param multipleSelection true if multiple selection is allowed + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + */ +// public static SelectionDialog createTypeDialog(Shell parent, IRunnableContext context, IJavaSearchScope scope, int style, boolean multipleSelection) throws JavaModelException { +// return createTypeDialog(parent, context, scope, style, multipleSelection, "");//$NON-NLS-1$ +// } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param context the runnable context used to show progress when the dialog + * is being populated + * @param scope the scope that limits which types are included + * @param 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 + * @param multipleSelection true if multiple selection is allowed + * @param filter the initial pattern to filter the set of types containg 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. + * @return a new selection dialog + * + * @since 2.0 + */ +// public static SelectionDialog createMainTypeDialog(Shell parent, IRunnableContext context, IJavaSearchScope scope, int style, boolean multipleSelection, String filter) { +// if (multipleSelection) { +// MultiMainTypeSelectionDialog dialog= new MultiMainTypeSelectionDialog(parent, context, scope, style); +// dialog.setFilter(filter); +// return dialog; +// } else { +// MainTypeSelectionDialog dialog= new MainTypeSelectionDialog(parent, context, scope, style); +// dialog.setFilter(filter); +// return dialog; +// } +// } + + /** + * 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. + * + * @param parent the parent shell of the dialog to be created + * @param context the runnable context used to show progress when the dialog + * is being populated + * @param scope the scope that limits which types are included + * @param 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 + * @param multipleSelection true if multiple selection is allowed + * @return a new selection dialog + */ +// public static SelectionDialog createMainTypeDialog(Shell parent, IRunnableContext context, IJavaSearchScope scope, int style, boolean multipleSelection) { +// return createMainTypeDialog(parent, context, scope, style, multipleSelection, "");//$NON-NLS-1$ +// } + + /** + * Creates a selection dialog that lists all types in the given project. + * The caller is responsible for opening the dialog with Window.open, + * and subsequently extracting the selected type(s) (of type + * IType) via SelectionDialog.getResult. + * + * @param parent the parent shell of the dialog to be created + * @param context the runnable context used to show progress when the dialog + * is being populated + * @param project the Java project + * @param style flags defining the style of the dialog; the only valid values are + * IJavaElementSearchConstants.CONSIDER_CLASSES, + * CONSIDER_INTERFACES, or their bitwise OR + * (equivalent to CONSIDER_TYPES) + * @param multipleSelection true if multiple selection is allowed + * @return a new selection dialog + * @exception JavaModelException if the selection dialog could not be opened + */ +// public static SelectionDialog createTypeDialog(Shell parent, IRunnableContext context, IProject project, int style, boolean multipleSelection) throws JavaModelException { +// IJavaSearchScope scope= SearchEngine.createJavaSearchScope(new IJavaProject[] { JavaCore.create(project) }); +// return createTypeDialog(parent, context, scope, style, multipleSelection); +// } + + /** + * Opens a Java editor on the given Java element. The element can be a compilation unit + * or class file. If there already is an open Java editor for the given element, it is returned. + * + * @param element the input element; either a compilation unit + * (ICompilationUnit) or a class file (IClassFile) + * @return the editor, or null if wrong element type or opening failed + * @exception PartInitException if the editor could not be initialized + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its underlying resource + */ + public static IEditorPart openInEditor(IJavaElement element) throws JavaModelException, PartInitException { + return EditorUtility.openInEditor(element); + } + + /** + * 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. + * + * @param part the editor displaying the compilation unit or class file + * @param element the source reference element defining the source range to be revealed + * + * @deprecated use revealInEditor(IEditorPart, IJavaElement) instead + */ +// public static void revealInEditor(IEditorPart part, ISourceReference element) { +// if (element instanceof IJavaElement) +// revealInEditor(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. + * + * @param part the editor displaying a compilation unit or class file + * @param element the element to be revealed + * + * @since 2.0 + */ +// public static void revealInEditor(IEditorPart part, IJavaElement element) { +// EditorUtility.revealInEditor(part, element); +// } + + /** + * Returns the working copy manager for the Java UI plug-in. + * + * @return the working copy manager for the Java UI plug-in + */ + public static IWorkingCopyManager getWorkingCopyManager() { + return PHPeclipsePlugin.getDefault().getWorkingCopyManager(); + } + + /** + * Answers the shared working copies currently registered for the Java plug-in. + * Note that the returned array can include working copies that are + * not on the class path of a Java project. + * + * @return the list of shared working copies + * + * @see org.eclipse.jdt.core.JavaCore#getSharedWorkingCopies(org.eclipse.jdt.core.IBufferFactory) + * @since 2.0 + */ + public static IWorkingCopy[] getSharedWorkingCopies() { + return PHPCore.getSharedWorkingCopies(getBufferFactory()); + } + + /** + * Answers the shared working copies that are on the class path of a Java + * project currently registered for the Java plug-in. + * + * + * @return the list of shared working copies + * + * @see #getSharedWorkingCopies() + * @since 2.1 + */ +// public static IWorkingCopy[] getSharedWorkingCopiesOnClasspath() { +// IWorkingCopy[] wcs= getSharedWorkingCopies(); +// List result= new ArrayList(wcs.length); +// for (int i = 0; i < wcs.length; i++) { +// IWorkingCopy wc= wcs[i]; +// if (wc instanceof IJavaElement) { +// IJavaElement je= (IJavaElement)wc; +// if (je.getJavaProject().isOnClasspath(je)) { +// result.add(wc); +// } +// } +// } +// return (IWorkingCopy[])result.toArray(new IWorkingCopy[result.size()]); +// } + + /** + * Returns the BufferFactory for the Java UI plug-in. + * + * @return the BufferFactory for the Java UI plug-in + * + * @see org.eclipse.jdt.core.IBufferFactory + * @since 2.0 + */ + public static IBufferFactory getBufferFactory() { + PHPDocumentProvider provider= PHPeclipsePlugin.getDefault().getCompilationUnitDocumentProvider(); + if (provider != null) + return provider.getBufferFactory(); + return null; + } + + /** + * Returns the DocumentProvider used for Java compilation units. + * + * @return the DocumentProvider for Java compilation units. + * + * @see IDocumentProvider + * @since 2.0 + */ + public static IDocumentProvider getDocumentProvider() { + return PHPeclipsePlugin.getDefault().getCompilationUnitDocumentProvider(); + } + + /** + * Sets the Javadoc location for an archive with the given path. + * + * @param archivePath the path of the library; this can be an workspace path + * or an external path in case of an external library. + * @param 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 + */ +// public static void setLibraryJavadocLocation(IPath archivePath, URL url) { +// JavaDocLocations.setLibraryJavadocLocation(archivePath, url); +// } + + /** + * Returns the Javadoc location for an archive or null if no + * location is available. + * + * @param archivePath the path of the library. This can be an workspace path + * or an external path in case of an external library. + * + * @since 2.0 + */ +// public static URL getLibraryJavadocLocation(IPath archivePath) { +// return JavaDocLocations.getLibraryJavadocLocation(archivePath); +// } + + /** + * Sets the Javadoc location for a Java project. This location is used for + * all types located in the project's source folders. + * + * @param project the project + * @param 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 + */ +// public static void setProjectJavadocLocation(IJavaProject project, URL url) { +// JavaDocLocations.setProjectJavadocLocation(project, url); +// } + + /** + * 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. + * + * @param project the project + * + * @since 2.1 + */ +// public static URL getProjectJavadocLocation(IJavaProject project) { +// return JavaDocLocations.getProjectJavadocLocation(project); +// } + + /** + * 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. + * + * @param The element for which the doc URL is requested. + * + * @since 2.0 + */ +// public static URL getJavadocBaseLocation(IJavaElement element) throws JavaModelException { +// return JavaDocLocations.getJavadocBaseLocation(element); +// } + + /** + * 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. + * + * @param The element for which the doc URL is requested. + * @param 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. + * + * @since 2.0 + */ +// public static URL getJavadocLocation(IJavaElement element, boolean includeAnchor) throws JavaModelException { +// return JavaDocLocations.getJavadocLocation(element, includeAnchor); +// } +}