org.eclipse.wst.jsdt.launching

## Class JREContainer

- java.lang.Object
- - org.eclipse.wst.jsdt.launching.JREContainer

All Implemented Interfaces:
  IJsGlobalScopeContainer

    public class JREContainer
    extends java.lang.Object
    implements IJsGlobalScopeContainer

JRE Container - resolves a includepath container variable to a JRE Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

### Fields inherited from interface org.eclipse.wst.jsdt.core.IJsGlobalScopeContainer

`K_APPLICATION, K_DEFAULT_SYSTEM, K_SYSTEM`

### Constructor Summary

Constructors
Constructor and Description
`JREContainer(IVMInstall vm, IPath path)` Constructs a JRE includepath conatiner on the given VM install

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getDescription()` Answers a readable description of this container
`IIncludePathEntry[]` `getIncludepathEntries()` Answers the set of includepath entries this container is mapping to.
`int` `getKind()` Answers the kind of this container.
`IPath` `getPath()` Answers the container path identifying this container.
`java.lang.String[]` `resolvedLibraryImport(java.lang.String a)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### JREContainer

    public JREContainer(IVMInstall vm,
                        IPath path)

Constructs a JRE includepath conatiner on the given VM install

Parameters:
  `vm` - vm install - cannot be `null`
  `path` - container path used to resolve this JRE

### Method Detail

#### getIncludepathEntries

    public IIncludePathEntry[] getIncludepathEntries()

Description copied from interface: `IJsGlobalScopeContainer`
Answers the set of includepath entries this container is mapping to.

The set of entries associated with a includepath container may contain any of the following:

- library entries (`CPE_LIBRARY`)
- project entries (`CPE_PROJECT`)

A includepath container can neither reference further includepath containers or includepath variables.

This method is called by the JavaScript model when it needs to resolve this includepath container entry into a list of library and project entries. The method is typically called exactly once for a given JavaScript project, and the resulting list of entries cached internally by the JavaScript 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 JavaScript model, the implementation should use only the following JavaScript model APIs:

- `JavaScriptCore.newLibraryEntry(IPath, IPath, IPath, boolean)` and variants
- `JavaScriptCore.newProjectEntry(IPath, boolean)` and variants
- `JavaScriptCore#create(org.eclipse.core.resources.IWorkspaceRoot)`
- `JavaScriptCore#create(org.eclipse.core.resources.IProject)`
- `IJavaScriptModel.getJavaScriptProjects()`
- `IJavaScriptProject.getRawIncludepath()`
- `IJavaScriptProject.readRawIncludepath()`
- `IJavaScriptProject#getOutputLocation()`
- `IJavaScriptProject#readOutputLocation()`
- JavaScript element operations marked as "handle-only"

The effects of using other JavaScript model APIs are unspecified.

Specified by:
  `getIncludepathEntries` in interface `IJsGlobalScopeContainer`
Returns:
  IIncludePathEntry[] - the includepath entries this container represents
See Also:
  `IJsGlobalScopeContainer.getIncludepathEntries()`

#### getDescription

    public java.lang.String getDescription()

Description copied from interface: `IJsGlobalScopeContainer`
Answers a readable description of this container

Specified by:
  `getDescription` in interface `IJsGlobalScopeContainer`
Returns:
  String - a string description of the container
See Also:
  `IJsGlobalScopeContainer.getDescription()`

#### getKind

    public int getKind()

Description copied from interface: `IJsGlobalScopeContainer`
Answers the kind of this container. Can be either:

- `K_APPLICATION` if this container maps to an application library
- `K_SYSTEM` if this container maps to a system library
- `K_DEFAULT_SYSTEM` if this container maps to a default system library (library implicitly contributed by the runtime).

Typically, system containers should be placed first on a build path.

Specified by:
  `getKind` in interface `IJsGlobalScopeContainer`
Returns:
  the kind of this container
See Also:
  `IJsGlobalScopeContainer.getKind()`

#### getPath

    public IPath getPath()

Description copied from interface: `IJsGlobalScopeContainer`
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`JsGlobalScopeContainerInitializer` registered on the extension point "org.eclipse.wst.jsdt.core.JsGlobalScopeContainerInitializer", which can be invoked if needing to resolve the container before it is explicitly set.

Specified by:
  `getPath` in interface `IJsGlobalScopeContainer`
Returns:
  IPath - the container path that is associated with this container
See Also:
  `IJsGlobalScopeContainer.getPath()`

#### resolvedLibraryImport

    public java.lang.String[] resolvedLibraryImport(java.lang.String a)

Specified by:
  `resolvedLibraryImport` in interface `IJsGlobalScopeContainer`