Class IzClasspathContainer
- All Implemented Interfaces:
IClasspathContainer
- Author:
- Christopher Mindus
Nested Class Summary
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The base string for the IIZI libraries path, i.e.static final String
The current version of the libraries: "1.0".Fields inherited from interface org.eclipse.jdt.core.IClasspathContainer
K_APPLICATION, K_DEFAULT_SYSTEM, K_SYSTEM
Method Summary
Modifier and TypeMethodDescriptionprotected void
finalize()
Called for garbage collection.Answers the set of classpath entries this container is mapping to.Answers a readable description of this container.int
getKind()
Answers the kind of this container.getPath()
Answers the container path identifying this container.static void
onProjectClean
(IProject project) Cleans a project and its classpath container(s).static IPath
pathFromURL
(URL url) Converts an URL to IPath.static IPath
pathFromURL
(URL url, boolean logError) Converts an URL to IPath.
Field Details
BASE_PATH
The base string for the IIZI libraries path, i.e. the first segment in the path: "com.iizix".- See Also:
CURRENT_VERSION
The current version of the libraries: "1.0".- See Also:
Method Details
onProjectClean
Cleans a project and its classpath container(s).- Parameters:
project
- The project.
pathFromURL
Converts an URL to IPath. The URL is pointing to the root classpath in a bundle's plug-in Jar and is either a directory "file:/..." or a jar "jar:file:/....jar!/". Due to problems in URIUtil.toPath(uri) when illegal characters such as spaces is present, use the File processing instead. If the path returned points to a Jar file, it will be treated as a Jar file classpath entry, and if it's a directory, then it will point to that directory.- Parameters:
url
- The URL to convert.- Returns:
- null if unsuccessful.
pathFromURL
Converts an URL to IPath. The URL is pointing to the root classpath in a bundle's plug-in Jar and is either a directory "file:/..." or a jar "jar:file:/....jar!/". Due to problems in URIUtil.toPath(uri) when illegal characters such as spaces is present, use the File processing instead. If the path returned points to a Jar file, it will be treated as a Jar file classpath entry, and if it's a directory, then it will point to that directory.- Parameters:
url
- The URL to convert.logError
- Flag to log error in case URL cannot be resolved or not.- Returns:
- null if unsuccessful.
finalize
Called for garbage collection.getKind
public int getKind()Answers the kind of this container. Can be either:K_APPLICATION
if this container maps to an application libraryK_SYSTEM
if this container maps to a system libraryK_DEFAULT_SYSTEM
if this container maps to a default system library (library implicitly contributed by the runtime).
- Specified by:
getKind
in interfaceIClasspathContainer
- Returns:
- The kind of this container: K_APPLICATION.
getDescription
Answers a readable description of this container.- Specified by:
getDescription
in interfaceIClasspathContainer
- Returns:
- A string description of the container.
getPath
Answers the container path identifying this container. A container path is formed by a first ID segment followed with extra segments, which can be used as additional hints for resolving to this container.The container ID is also used to identify a
ClasspathContainerInitializer
registered on the extension point "org.eclipse.jdt.core.classpathContainerInitializer", which can be invoked if needing to resolve the container before it is explicitly set.- Specified by:
getPath
in interfaceIClasspathContainer
- Returns:
- The container path that is associated with this container.
getClasspathEntries
Answers the set of classpath entries this container is mapping to.The set of entries associated with a classpath container may contain any of the following:
- library entries (
CPE_LIBRARY
) - project entries (
CPE_PROJECT
)
A library entry can reference other libraries through the Class-Path section of the JAR's MANIFEST.MF file. If the container wants such referenced entries to be part of the classpath, the container must explicitly add them to the result.
This method is called by the Java model when it needs to resolve this classpath container entry into a list of library and project entries. The method is typically called exactly once for a given Java project, and the resulting list of entries cached internally by the Java model. This method must not be called by other clients.
There are a wide variety of conditions under which this method may be invoked. To ensure that the implementation does not interfere with correct functioning of the Java model, the implementation should use only the following Java model APIs:
JavaCore.newLibraryEntry(IPath, IPath, IPath, boolean)
and variantsJavaCore.newProjectEntry(IPath, boolean)
and variantsJavaCore.create(org.eclipse.core.resources.IWorkspaceRoot)
JavaCore.create(org.eclipse.core.resources.IProject)
JavaCore.getReferencedClasspathEntries(IClasspathEntry, IJavaProject)
withnull
as projectIJavaModel.getJavaProjects()
IJavaProject.getRawClasspath()
IJavaProject.readRawClasspath()
IJavaProject.getOutputLocation()
IJavaProject.readOutputLocation()
- Java element operations marked as "handle-only"
- Specified by:
getClasspathEntries
in interfaceIClasspathContainer
- Returns:
- IClasspathEntry [] - the classpath entries this container represents.
- See Also:
- library entries (