public class BasicBrowserLibraryJsGlobalScopeContainerInitializer extends JsGlobalScopeContainerInitializer implements IJsGlobalScopeContainer
ATTRIBUTE_NOT_SUPPORTED, ATTRIBUTE_READ_ONLYK_APPLICATION, K_DEFAULT_SYSTEM, K_SYSTEM| Constructor and Description |
|---|
BasicBrowserLibraryJsGlobalScopeContainerInitializer() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canUpdateJsGlobalScopeContainer(IPath containerPath,
IJavaScriptProject project)
Returns
true if this container initializer can be requested to perform updates
on its own container values. |
java.lang.String[] |
containerSuperTypes()
returns a String of all SuperTypes provided by this library.
|
protected IJsGlobalScopeContainer |
getContainer(IPath containerPath,
IJavaScriptProject project) |
java.lang.String |
getDescription()
Answers a readable description of this container
|
java.lang.String |
getDescription(IPath containerPath,
IJavaScriptProject project)
Returns a readable description for a container path.
|
IIncludePathEntry[] |
getIncludepathEntries()
Answers the set of includepath entries this container is mapping to.
|
java.lang.String |
getInferenceID()
Get the id of the inference provider for this library
|
int |
getKind()
Answers the kind of this container.
|
LibraryLocation |
getLibraryLocation() |
IPath |
getPath()
Answers the container path identifying this container.
|
void |
initialize(IPath containerPath,
IJavaScriptProject project)
Binds a includepath container to a
IJsGlobalScopeContainer for a given project,
or silently fails if unable to do so. |
allowAttachJsDoc, getAccessRulesStatus, getAttributeStatus, getComparisonID, getFailureContainer, getHostPath, getSourceAttachmentStatus, removeFromProject, requestJsGlobalScopeContainerUpdate, resolvedLibraryImportclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitresolvedLibraryImportpublic BasicBrowserLibraryJsGlobalScopeContainerInitializer()
public LibraryLocation getLibraryLocation()
getLibraryLocation in interface IJsGlobalScopeContainerInitializerpublic IIncludePathEntry[] getIncludepathEntries()
IJsGlobalScopeContainerThe set of entries associated with a includepath container may contain any of the following:
CPE_LIBRARY) CPE_PROJECT) 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 variantsJavaScriptCore.newProjectEntry(IPath, boolean) and variantsJavaScriptCore#create(org.eclipse.core.resources.IWorkspaceRoot)JavaScriptCore#create(org.eclipse.core.resources.IProject)IJavaScriptModel.getJavaScriptProjects()IJavaScriptProject.getRawIncludepath()IJavaScriptProject.readRawIncludepath()IJavaScriptProject#getOutputLocation()IJavaScriptProject#readOutputLocation()getIncludepathEntries in interface IJsGlobalScopeContainergetIncludepathEntries in class JsGlobalScopeContainerInitializerIIncludePathEntrypublic boolean canUpdateJsGlobalScopeContainer(IPath containerPath,
IJavaScriptProject project)
IJsGlobalScopeContainerInitializertrue if this container initializer can be requested to perform updates
on its own container values. If so, then an update request will be performed using
JsGlobalScopeContainerInitializer#requestJsGlobalScopeContainerUpdate/
canUpdateJsGlobalScopeContainer in interface IJsGlobalScopeContainerInitializercanUpdateJsGlobalScopeContainer in class JsGlobalScopeContainerInitializercontainerPath - the path of the container which requires to be updatedproject - the project for which the container is to be updatedtrue if the container can be updatedprotected IJsGlobalScopeContainer getContainer(IPath containerPath, IJavaScriptProject project)
getContainer in class JsGlobalScopeContainerInitializerpublic java.lang.String getDescription()
IJsGlobalScopeContainergetDescription in interface IJsGlobalScopeContainergetDescription in class JsGlobalScopeContainerInitializerpublic java.lang.String getDescription(IPath containerPath,
IJavaScriptProject project)
IJsGlobalScopeContainerInitializerIJsGlobalScopeContainer.getDescription()).getDescription in interface IJsGlobalScopeContainerInitializergetDescription in class JsGlobalScopeContainerInitializercontainerPath - the path of the container which requires a readable descriptionproject - the project from which the container is referencedpublic int getKind()
IJsGlobalScopeContainerK_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).getKind in interface IJsGlobalScopeContainergetKind in class JsGlobalScopeContainerInitializerpublic IPath getPath()
IJsGlobalScopeContainer
The container ID is also used to identify aJsGlobalScopeContainerInitializer
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.
getPath in interface IJsGlobalScopeContainergetPath in class JsGlobalScopeContainerInitializerpublic void initialize(IPath containerPath,
IJavaScriptProject project)
throws CoreException
IJsGlobalScopeContainerInitializerIJsGlobalScopeContainer for a given project,
or silently fails if unable to do so.
A container is identified by a container path, which must be formed of two segments. The first segment is used as a unique identifier (which this initializer did register onto), and the second segment can be used as an additional hint when performing the resolution.
The initializer is invoked if a container path needs to be resolved for a given project, and no
value for it was recorded so far. The implementation of the initializer would typically set the
corresponding container using JavaScriptCore#setJsGlobalScopeContainer.
A container initialization can be indirectly performed while attempting to resolve a project
includepath using IJavaScriptProject#getResolvedClasspath(; or directly when using
JavaScriptCore#getJsGlobalScopeContainer. During the initialization process, any attempt
to further obtain the same container will simply return null so as to avoid an
infinite regression of initializations.
A container initialization may also occur indirectly when setting a project includepath, as the operation needs to resolve the includepath for validation purpose. While the operation is in progress, a referenced container initializer may be invoked. If the initializer further tries to access the referring project includepath, it will not see the new assigned includepath until the operation has completed. Note that once the JavaScript change notification occurs (at the end of the operation), the model has been updated, and the project includepath can be queried normally.
This method is called by the JavaScript model to give the party that defined this particular kind of includepath container the chance to install includepath container objects that will be used to convert includepath container entries into simpler includepath entries. The method is typically called exactly once for a given JavaScript project and includepath container entry. 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#setJsGlobalScopeContainer(IPath, IJavaScriptProject[], IJsGlobalScopeContainer[], org.eclipse.core.runtime.IProgressMonitor)JavaScriptCore.getJsGlobalScopeContainer(IPath, IJavaScriptProject)JavaScriptCore#create(org.eclipse.core.resources.IWorkspaceRoot)JavaScriptCore#create(org.eclipse.core.resources.IProject)IJavaScriptModel.getJavaScriptProjects()initialize in interface IJsGlobalScopeContainerInitializerinitialize in class JsGlobalScopeContainerInitializercontainerPath - a two-segment path (ID/hint) identifying the container that needs
to be resolvedproject - the JavaScript project in which context the container is to be resolved.
This allows generic containers to be bound with project specific values.CoreException - if an exception occurs during the initializationJavaScriptCore.getJsGlobalScopeContainer(IPath, IJavaScriptProject),
JavaScriptCore#setJsGlobalScopeContainer(IPath, IJavaScriptProject[], IJsGlobalScopeContainer[], org.eclipse.core.runtime.IProgressMonitor),
IJsGlobalScopeContainerpublic java.lang.String[] containerSuperTypes()
IJsGlobalScopeContainerInitializercontainerSuperTypes in interface IJsGlobalScopeContainerInitializercontainerSuperTypes in class JsGlobalScopeContainerInitializerpublic java.lang.String getInferenceID()
IJsGlobalScopeContainerInitializergetInferenceID in interface IJsGlobalScopeContainerInitializergetInferenceID in class JsGlobalScopeContainerInitializerCopyright (c) IBM Corp. and others 2000, 2016. All Rights Reserved.