Interface IRuntimeClasspathEntry
-
- All Known Subinterfaces:
IRuntimeClasspathEntry2
public interface IRuntimeClasspathEntry
Represents an entry on a runtime classpath. A runtime classpath entry may refer to one of the following:- A Java project (type
PROJECT
) - a project entry refers to all of the built classes in a project, and resolves to the output location(s) of the associated Java project. - An archive (type
ARCHIVE
) - an archive refers to a jar, zip, or folder in the workspace or in the local file system containing class files. An archive may have attached source. - A variable (type
VARIABLE
) - a variable refers to a classpath variable, which may refer to a jar. - A library (type
CONTAINER
) - a container refers to classpath container variable which refers to a collection of archives derived dynamically, on a per project basis. - A contributed classpath entry (type
OTHER
) - a contributed classpath entry is an extension contributed by a plug-in. The resolution of a contributed classpath entry is client defined. SeeIRuntimeClasspathEntry2
.
Clients may implement this interface for contributing a classpath entry type (i.e. type
OTHER
). Note, contributed classpath entries are new in 3.0, and are only intended to be contributed by the Java debugger.- Since:
- 2.0
- See Also:
IRuntimeClasspathEntry2
- Restriction:
- This interface is not intended to be implemented by clients.
- Restriction:
- This interface is not intended to be extended by clients.
-
-
Field Summary
Fields Modifier and Type Field Description static int
ARCHIVE
Type identifier for archive entries.static int
BOOTSTRAP_CLASSES
Classpath property identifier for entries that should appear on the bootstrap path explicitly.static int
CLASS_PATH
Classpath property identifier for entries that should appear on the class path for modular project.static int
CONTAINER
Type identifier for container entries.static int
MODULE_PATH
Classpath property identifier for entries that should appear on the module path for modular project.static int
OTHER
Type identifier for contributed entries.static int
PATCH_MODULE
Classpath property identifier for entries that should appear as --patch-module argument for a modular project.static int
PROJECT
Type identifier for project entries.static int
STANDARD_CLASSES
Classpath property identifier for entries that appear on the bootstrap path by default.static int
USER_CLASSES
Classpath property identifier for entries that should appear on the user classpath.static int
VARIABLE
Type identifier for variable entries.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IClasspathEntry
getClasspathEntry()
Returns a classpath entry equivalent to this runtime classpath entry, ornull
if none.int
getClasspathProperty()
Returns a constant indicating where this entry should appear on the runtime classpath by default.IPath
getExternalAnnotationsPath()
Returns the path to the external annotations file or directory, ornull
if no external annotations are associated with this classpath entry.IJavaProject
getJavaProject()
Returns the Java project associated with this runtime classpath entry ornull
if none.String
getLocation()
Returns an absolute path in the local file system for this entry, ornull
if none, or if this entry is of typeCONTAINER
.String
getMemento()
Returns a memento for this classpath entry.IPath
getPath()
Returns the path associated with this entry, ornull
if none.IResource
getResource()
Returns the resource associated with this entry, ornull
if none.String
getSourceAttachmentLocation()
Returns an absolute path in the local file system for the source attachment associated with this entry entry, ornull
if none.IPath
getSourceAttachmentPath()
Returns the path to the source archive associated with this entry, ornull
if this classpath entry has no source attachment.String
getSourceAttachmentRootLocation()
Returns a path relative to this entry's source attachment path for the root location containing source, ornull
if none.IPath
getSourceAttachmentRootPath()
Returns the path within the source archive where package fragments are located.int
getType()
Returns this classpath entry's type.String
getVariableName()
Returns the first segment of the path associated with this entry, ornull
if this entry is not of typeVARIABLE
orCONTAINER
.boolean
isAutomodule()
Returnstrue
if the java project associated is an AutoModule.void
setClasspathProperty(int location)
Sets whether this entry should appear on the bootstrap classpath, the user classpath, or whether this entry is a standard bootstrap entry that does not need to appear on the classpath.void
setExternalAnnotationsPath(IPath path)
Sets the path to the external annotations file or directory.void
setSourceAttachmentPath(IPath path)
Sets the path to the source archive associated with this entry, ornull
if this classpath entry has no source attachment.void
setSourceAttachmentRootPath(IPath path)
Sets the path within the source archive where package fragments are located.
-
-
-
Field Detail
-
PROJECT
static final int PROJECT
Type identifier for project entries.- See Also:
- Constant Field Values
-
ARCHIVE
static final int ARCHIVE
Type identifier for archive entries.- See Also:
- Constant Field Values
-
VARIABLE
static final int VARIABLE
Type identifier for variable entries.- See Also:
- Constant Field Values
-
CONTAINER
static final int CONTAINER
Type identifier for container entries.- See Also:
- Constant Field Values
-
OTHER
static final int OTHER
Type identifier for contributed entries.- Since:
- 3.0
- See Also:
- Constant Field Values
-
STANDARD_CLASSES
static final int STANDARD_CLASSES
Classpath property identifier for entries that appear on the bootstrap path by default.- See Also:
- Constant Field Values
-
BOOTSTRAP_CLASSES
static final int BOOTSTRAP_CLASSES
Classpath property identifier for entries that should appear on the bootstrap path explicitly.- See Also:
- Constant Field Values
-
USER_CLASSES
static final int USER_CLASSES
Classpath property identifier for entries that should appear on the user classpath.- See Also:
- Constant Field Values
-
MODULE_PATH
static final int MODULE_PATH
Classpath property identifier for entries that should appear on the module path for modular project.- Since:
- 3.10
- See Also:
- Constant Field Values
-
CLASS_PATH
static final int CLASS_PATH
Classpath property identifier for entries that should appear on the class path for modular project.- Since:
- 3.10
- See Also:
- Constant Field Values
-
PATCH_MODULE
static final int PATCH_MODULE
Classpath property identifier for entries that should appear as --patch-module argument for a modular project.- Since:
- 3.10
- See Also:
- Constant Field Values
-
-
Method Detail
-
getType
int getType()
Returns this classpath entry's type. The type of a runtime classpath entry is identified by one of the following constants:PROJECT
ARCHIVE
VARIABLE
CONTAINER
OTHER
Since 3.0, a type of
OTHER
may be returned.- Returns:
- this classpath entry's type
-
getMemento
String getMemento() throws CoreException
Returns a memento for this classpath entry.Since 3.0, the memento for a contributed classpath entry (i.e. of type
OTHER
), must be in the form of an XML document, with the following element structure:<runtimeClasspathEntry id="exampleId"> <memento key1="value1" ...> </memento> </runtimeClasspathEntry>
Theid
attribute is the unique identifier of the extension that contributed this runtime classpath entry type, via the extension pointorg.eclipse.jdt.launching.runtimeClasspathEntries
. Thememento
element will be used to initialize a restored runtime classpath entry, via the methodIRuntimeClasspathEntry2.initializeFrom(Element memento)
. The attributes of thememento
element are client defined.- Returns:
- a memento for this classpath entry
- Throws:
CoreException
- if an exception occurs generating a memento
-
getPath
IPath getPath()
Returns the path associated with this entry, ornull
if none. The format of the path returned depends on this entry's type:PROJECT
- a workspace relative path to the associated project.ARCHIVE
- the absolute path of the associated archive, which may or may not be in the workspace.VARIABLE
- the path corresponding to the associated classpath variable entry.CONTAINER
- the path corresponding to the associated classpath container variable entry.OTHER
- the path returned is client defined.
Since 3.0, this method may return
null
.- Returns:
- the path associated with this entry, or
null
- See Also:
IClasspathEntry.getPath()
-
getResource
IResource getResource()
Returns the resource associated with this entry, ornull
if none. A project, archive, or folder entry may be associated with a resource.- Returns:
- the resource associated with this entry, or
null
-
getSourceAttachmentPath
IPath getSourceAttachmentPath()
Returns the path to the source archive associated with this entry, ornull
if this classpath entry has no source attachment.Only archive and variable entries may have source attachments. For archive entries, the path (if present) locates a source archive. For variable entries, the path (if present) has an analogous form and meaning as the variable path, namely the first segment is the name of a classpath variable.
- Returns:
- the path to the source archive, or
null
if none
-
setSourceAttachmentPath
void setSourceAttachmentPath(IPath path)
Sets the path to the source archive associated with this entry, ornull
if this classpath entry has no source attachment.Only archive and variable entries may have source attachments. For archive entries, the path refers to a source archive. For variable entries, the path has an analogous form and meaning as the variable path, namely the first segment is the name of a classpath variable.
Note that an empty path (
Path.EMPTY
) is considerednull
.- Parameters:
path
- the path to the source archive, ornull
if none
-
getSourceAttachmentRootPath
IPath getSourceAttachmentRootPath()
Returns the path within the source archive where package fragments are located. An empty path indicates that packages are located at the root of the source archive. Returns a non-null
value if and only ifgetSourceAttachmentPath
returns a non-null
value.- Returns:
- root path within the source archive, or
null
if not applicable
-
setSourceAttachmentRootPath
void setSourceAttachmentRootPath(IPath path)
Sets the path within the source archive where package fragments are located. A root path indicates that packages are located at the root of the source archive. Only valid if a source attachment path is also specified.Note that an empty path (
Path.EMPTY
) is considerednull
.- Parameters:
path
- root path within the source archive, ornull
-
getExternalAnnotationsPath
IPath getExternalAnnotationsPath()
Returns the path to the external annotations file or directory, ornull
if no external annotations are associated with this classpath entry.- Returns:
- The path to the external annotations file or directory, or
null
if not present. - Since:
- 3.8
-
setExternalAnnotationsPath
void setExternalAnnotationsPath(IPath path)
Sets the path to the external annotations file or directory. It should be set tonull
if no annotations are associated with this entry.- Parameters:
path
- The file or directory holding external annotations.- Since:
- 3.8
-
getClasspathProperty
int getClasspathProperty()
Returns a constant indicating where this entry should appear on the runtime classpath by default. The value returned is one of the following:STANDARD_CLASSES
- a standard entry does not need to appear on the runtime classpathBOOTSTRAP_CLASSES
- a bootstrap entry should appear on the boot pathUSER_CLASSES
- a user entry should appear on the path containing user or application classes
- Returns:
- where this entry should appear on the runtime classpath
-
setClasspathProperty
void setClasspathProperty(int location)
Sets whether this entry should appear on the bootstrap classpath, the user classpath, or whether this entry is a standard bootstrap entry that does not need to appear on the classpath. The location is one of:STANDARD_CLASSES
- a standard entry does not need to appear on the runtime classpathBOOTSTRAP_CLASSES
- a bootstrap entry should appear on the boot pathUSER_CLASSES
- a user entry should appear on the path conatining user or application classes
- Parameters:
location
- a classpat property constant
-
getLocation
String getLocation()
Returns an absolute path in the local file system for this entry, ornull
if none, or if this entry is of typeCONTAINER
.- Returns:
- an absolute path in the local file system for this entry,
or
null
if none
-
getSourceAttachmentLocation
String getSourceAttachmentLocation()
Returns an absolute path in the local file system for the source attachment associated with this entry entry, ornull
if none.- Returns:
- an absolute path in the local file system for the source
attachment associated with this entry entry, or
null
if none
-
getSourceAttachmentRootLocation
String getSourceAttachmentRootLocation()
Returns a path relative to this entry's source attachment path for the root location containing source, ornull
if none.- Returns:
- a path relative to this entry's source attachment path for the
root location containing source, or
null
if none
-
getVariableName
String getVariableName()
Returns the first segment of the path associated with this entry, ornull
if this entry is not of typeVARIABLE
orCONTAINER
.- Returns:
- the first segment of the path associated with this entry, or
null
if this entry is not of typeVARIABLE
orCONTAINER
-
getClasspathEntry
IClasspathEntry getClasspathEntry()
Returns a classpath entry equivalent to this runtime classpath entry, ornull
if none.Since 3.0, this method may return
null
.- Returns:
- a classpath entry equivalent to this runtime classpath entry,
or
null
- Since:
- 2.1
-
getJavaProject
IJavaProject getJavaProject()
Returns the Java project associated with this runtime classpath entry ornull
if none. Runtime classpath entries of typeCONTAINER
may be associated with a project for the purposes of resolving the entries in a container.- Returns:
- the Java project associated with this runtime classpath entry
or
null
if none - Since:
- 3.0
-
isAutomodule
boolean isAutomodule()
Returnstrue
if the java project associated is an AutoModule.- Returns:
true
if the Java project associated is an AutoModule orfalse
if not- Since:
- 3.10
-
-