Copyright (c) 2013 BestSolution.at and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
Tom Schindl - initial API and implementation
IBM Corporation - Bug 399798, StandardVMType should allow to contribute default source and Javadoc locations for ext libraries
/*******************************************************************************
* Copyright (c) 2013 BestSolution.at and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
* IBM Corporation - Bug 399798, StandardVMType should allow to contribute default source and Javadoc locations for ext libraries
*******************************************************************************/
package org.eclipse.jdt.launching;
import java.net.URL;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
This resolver allows contributors to provide LibraryLocation
information for non-standard JRE / JDK libraries.
For example this resolver could be used to provide
Javadoc and source locations for jars in the /ext
location of a JRE / JDK
See Also: Since: 3.7
/**
* This resolver allows contributors to provide {@link LibraryLocation} information for
* non-standard JRE / JDK libraries.
* <br><br>
* For example this resolver could be used to provide
* Javadoc and source locations for jars in the <code>/ext</code> location of a JRE / JDK
*
* @see JavaRuntime#EXTENSION_POINT_LIBRARY_LOCATION_RESOLVERS
*
* @since 3.7
*/
public interface ILibraryLocationResolver {
Returns the path inside the source
zip file where packages names begin, must not be
null
- use Path.EMPTY
For example, if the source for java.lang.Object
source is found at src/java/lang/Object.java
in the zip file, the package root
would be src
.
Params: - libraryPath – the path to the library
Returns: the IPath
to the root of the source or the empty path, never null
/**
* Returns the path inside the <code>source</code> zip file where packages names begin, must not be
* <code>null</code> - use {@link Path#EMPTY}
* <br><br>
* For example, if the source for <code>java.lang.Object</code> source is found at <code>src/java/lang/Object.java</code> in the zip file, the package root
* would be <code>src</code>.
*
* @param libraryPath the path to the library
* @return the {@link IPath} to the root of the source or the empty path, never <code>null</code>
*/
public IPath getPackageRoot(IPath libraryPath);
Returns the IPath
of the zip
or jar
file containing the sources for library
.
Must not be null
- use Path.EMPTY
Params: - libraryPath – the path to the library, must not be
null
Returns: the IPath
to the source or the empty path, never null
/**
* Returns the {@link IPath} of the <code>zip</code> or <code>jar</code> file containing the sources for <code>library</code>.
* <br><br>
* Must not be <code>null</code> - use {@link Path#EMPTY}
*
* @param libraryPath the path to the library, must not be <code>null</code>
* @return the {@link IPath} to the source or the empty path, never <code>null</code>
*/
public IPath getSourcePath(IPath libraryPath);
Returns the URL
of the Javadoc for this library or null
Params: - libraryPath – the path to the library, must not be
null
Returns: the Javadoc URL
or null
/**
* Returns the {@link URL} of the Javadoc for this library or <code>null</code>
*
* @param libraryPath the path to the library, must not be <code>null</code>
* @return the Javadoc {@link URL} or <code>null</code>
*/
public URL getJavadocLocation(IPath libraryPath);
Returns the URL
of the index for the given library or null
.
Params: - libraryPath – the path to the library, must not be
null
Returns: the index URL
or null
/**
* Returns the {@link URL} of the index for the given library or <code>null</code>.
*
* @param libraryPath the path to the library, must not be <code>null</code>
* @return the index {@link URL} or <code>null</code>
*/
public URL getIndexLocation(IPath libraryPath);
}