|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface IJavaScriptProject
A JavaScript project represents a view of a project resource in terms of JavaScript elements such as package fragments, types, methods and fields. A project may contain several source folders (package roots), which contain source folders (package fragments). A package root corresponds to an underlying folder.
Each JavaScript project has a includepath, defining which folders contain source code and where required libraries are located. A project that references packages in another project can access the packages by including the required project in a includepath entry. The JavaScript model will present the source elements in the required project. The includepath format is a sequence of includepath entries describing the location and contents of package fragment roots.
JavaScript project elements need to be opened before they can be navigated or manipulated. The children of a JavaScript project are the package fragment roots that are defined by the includepath and contained in this project (in other words, it does not include package fragment roots for other projects).
This interface is not intended to be implemented by clients. An instance
of one of these handles can be created via
JavaScriptCore.create(project)
.
JavaScriptCore#create(org.eclipse.core.resources.IProject)
,
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.IJavaScriptElement |
---|
CLASS_FILE, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVASCRIPT_MODEL, JAVASCRIPT_PROJECT, JAVASCRIPT_UNIT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER |
Method Summary | |
---|---|
IIncludePathEntry |
decodeIncludepathEntry(java.lang.String encodedEntry)
Decodes the includepath entry that has been encoded in the given string in the context of this project. |
java.lang.String |
encodeIncludepathEntry(IIncludePathEntry includepathEntry)
Encodes the given includepath entry into a string in the context of this project. |
IJavaScriptElement |
findElement(IPath path)
Returns the IJavaScriptElement corresponding to the given
includepath-relative path, or null if no such
IJavaScriptElement is found. |
IJavaScriptElement |
findElement(IPath path,
WorkingCopyOwner owner)
Returns the IJavaScriptElement corresponding to the given
includepath-relative path, or null if no such
IJavaScriptElement is found. |
IPackageFragment |
findPackageFragment(IPath path)
Returns the first existing package fragment on this project's includepath whose path matches the given (absolute) path, or null if none
exist. |
IPackageFragmentRoot |
findPackageFragmentRoot(IPath path)
Returns the existing package fragment root on this project's includepath whose path matches the given (absolute) path, or null if
one does not exist. |
IPackageFragmentRoot[] |
findPackageFragmentRoots(IIncludePathEntry entry)
Returns the existing package fragment roots identified by the given entry. |
IType |
findType(java.lang.String fullyQualifiedName)
Returns the first type found following this project's includepath with the given fully qualified name or null if none is found. |
IType |
findType(java.lang.String fullyQualifiedName,
IProgressMonitor progressMonitor)
Same functionality as findType(String) but also look for secondary
types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String packageName,
java.lang.String typeQualifiedName,
IProgressMonitor progressMonitor)
Same functionality as #findType(String, String) but also look for
secondary types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String packageName,
java.lang.String typeQualifiedName,
WorkingCopyOwner owner,
IProgressMonitor progressMonitor)
Same functionality as #findType(String, String, WorkingCopyOwner)
but also look for secondary types if given name does not match a javaScript unit name. |
IType |
findType(java.lang.String fullyQualifiedName,
WorkingCopyOwner owner,
IProgressMonitor progressMonitor)
Same functionality as #findType(String, WorkingCopyOwner)
but also look for secondary types if given name does not match
a javaScript unit name. |
ITypeRoot |
findTypeRoot(java.lang.String fullyQualifiedName)
|
IPackageFragmentRoot[] |
getAllPackageFragmentRoots()
Returns all of the existing package fragment roots that exist on the includepath, in the order they are defined by the includepath. |
IFile |
getJSDTScopeFile()
|
java.lang.Object[] |
getNonJavaScriptResources()
Returns an array of non-JavaScript resources directly contained in this project. |
java.lang.String |
getOption(java.lang.String optionName,
boolean inheritJavaCoreOptions)
Helper method for returning one option value only. |
java.util.Map |
getOptions(boolean inheritJavaCoreOptions)
Returns the table of the current custom options for this project. |
IPath |
getOutputLocation()
Returns the default output location for this project as a workspace- relative absolute path. |
IPackageFragmentRoot |
getPackageFragmentRoot(java.lang.String filePath)
Returns a package fragment root for the file at the specified file system path. |
IPackageFragmentRoot[] |
getPackageFragmentRoots()
Returns all of the package fragment roots contained in this project, identified on this project's resolved includepath. |
IPackageFragment[] |
getPackageFragments()
Returns all package fragments in all package fragment roots contained in this project. |
IProject |
getProject()
Returns the IProject on which this IJavaScriptProject
was created. |
IIncludePathEntry[] |
getRawIncludepath()
Returns the raw includepath for the project, as a list of includepath entries. |
java.lang.String[] |
getRequiredProjectNames()
Returns the names of the projects that are directly required by this project. |
IIncludePathEntry[] |
getResolvedIncludepath(boolean ignoreUnresolvedEntry)
This is a helper method returning the resolved includepath for the project as a list of simple (non-variable, non-container) includepath entries. |
boolean |
hasBuildState()
Returns whether this project has been built at least once and thus whether it has a build state. |
boolean |
hasIncludepathCycle(IIncludePathEntry[] entries)
Returns whether setting this project's includepath to the given includepath entries would result in a cycle. |
boolean |
isOnIncludepath(IJavaScriptElement element)
Returns whether the given element is on the includepath of this project, that is, referenced from a includepath entry and not explicitly excluded using an exclusion pattern. |
IEvaluationContext |
newEvaluationContext()
Creates a new evaluation context. |
ITypeHierarchy |
newTypeHierarchy(IRegion region,
IProgressMonitor monitor)
Creates and returns a type hierarchy for all types in the given region, considering subtypes within that region. |
ITypeHierarchy |
newTypeHierarchy(IRegion region,
WorkingCopyOwner owner,
IProgressMonitor monitor)
Creates and returns a type hierarchy for all types in the given region, considering subtypes within that region and considering types in the working copies with the given owner. |
ITypeHierarchy |
newTypeHierarchy(IType type,
IRegion region,
IProgressMonitor monitor)
Creates and returns a type hierarchy for the given type considering subtypes in the specified region. |
ITypeHierarchy |
newTypeHierarchy(IType type,
IRegion region,
WorkingCopyOwner owner,
IProgressMonitor monitor)
Creates and returns a type hierarchy for the given type considering subtypes in the specified region and considering types in the working copies with the given owner. |
IPath |
readOutputLocation()
Returns the default output location for the project as defined by its .jsdtScope file from disk, or null
if unable to read the file. |
IIncludePathEntry[] |
readRawIncludepath()
Returns the raw includepath for the project as defined by its .jsdtScope file from disk, or null
if unable to read the file. |
void |
setOption(java.lang.String optionName,
java.lang.String optionValue)
Helper method for setting one option value only. |
void |
setOptions(java.util.Map newOptions)
Sets the project custom options. |
void |
setOutputLocation(IPath path,
IProgressMonitor monitor)
Sets the default output location of this project to the location described by the given workspace-relative absolute path. |
void |
setRawIncludepath(IIncludePathEntry[] entries,
boolean canModifyResources,
IProgressMonitor monitor)
Sets the includepath of this project using a list of includepath entries. |
void |
setRawIncludepath(IIncludePathEntry[] entries,
IPath outputLocation,
boolean canModifyResources,
IProgressMonitor monitor)
Sets both the includepath of this project and its default output location at once. |
void |
setRawIncludepath(IIncludePathEntry[] entries,
IProgressMonitor monitor)
Sets the includepath of this project using a list of includepath entries. |
Methods inherited from interface org.eclipse.wst.jsdt.core.IParent |
---|
getChildren, hasChildren |
Methods inherited from interface org.eclipse.wst.jsdt.core.IJavaScriptElement |
---|
exists, getAncestor, getAttachedJavadoc, getCommonSuperType, getCorrespondingResource, getDisplayName, getElementName, getElementType, getHandleIdentifier, getHostPath, getJavaScriptModel, getJavaScriptProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown, isVirtual |
Methods inherited from interface org.eclipse.wst.jsdt.core.ILookupScope |
---|
newNameLookup, newNameLookup, newSearchableNameEnvironment, newSearchableNameEnvironment |
Methods inherited from interface org.eclipse.wst.jsdt.core.IOpenable |
---|
close, findRecommendedLineSeparator, getBuffer, hasUnsavedChanges, isConsistent, isOpen, makeConsistent, open, save |
Method Detail |
---|
IFile getJSDTScopeFile()
IIncludePathEntry decodeIncludepathEntry(java.lang.String encodedEntry)
encodedEntry
- the encoded includepath entry
null
if unable to decode itjava.lang.String encodeIncludepathEntry(IIncludePathEntry includepathEntry)
includepathEntry
- the includepath entry to encode
IJavaScriptElement findElement(IPath path) throws JavaScriptModelException
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found. The result is one of an
IJavaScriptUnit
, IClassFile
, or
IPackageFragment
.
When looking for a package fragment, there might be several potential matches; only one of them is returned.
For example, the path "java/lang/Object.js", would result in the
IJavaScriptUnit
or IClassFile
corresponding to
"java.lang.Object". The path "java/lang" would result in the
IPackageFragment
for "java.lang".
path
- the given includepath-relative path
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found
JavaScriptModelException
- if the given path is null
or absoluteIJavaScriptElement findElement(IPath path, WorkingCopyOwner owner) throws JavaScriptModelException
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found. The result is one of an
IJavaScriptUnit
, IClassFile
, or
IPackageFragment
. If it is an IJavaScriptUnit
,
its owner is the given owner.
When looking for a package fragment, there might be several potential matches; only one of them is returned.
For example, the path "java/lang/Object.js", would result in the
IJavaScriptUnit
or IClassFile
corresponding to
"java.lang.Object". The path "java/lang" would result in the
IPackageFragment
for "java.lang".
path
- the given includepath-relative pathowner
- the owner of the returned javaScript unit, ignored if it is
not a javaScript unit.
IJavaScriptElement
corresponding to the given
includepath-relative path, or null
if no such
IJavaScriptElement
is found
JavaScriptModelException
- if the given path is null
or absoluteIPackageFragment findPackageFragment(IPath path) throws JavaScriptModelException
null
if none
exist.
The path can be:
- internal to the workbench: "/Project/src"
- external to the workbench: "c:/jdk/classes.zip/java/lang"
path
- the given absolute path
null
if none
exist
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragmentRoot findPackageFragmentRoot(IPath path) throws JavaScriptModelException
null
if
one does not exist.
The path can be:
- internal to the workbench: "/Compiler/src"
- external to the workbench: "c:/jdk/classes.zip"
path
- the given absolute path
null
if
one does not exist
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragmentRoot[] findPackageFragmentRoots(IIncludePathEntry entry)
If the includepath entry denotes a variable, it will be resolved and return the roots of the target entry (empty if not resolvable).
If the includepath entry denotes a container, it will be resolved and return the roots corresponding to the set of container entries (empty if not resolvable).
entry
- the given entry
IJsGlobalScopeContainer
IType findType(java.lang.String fullyQualifiedName) throws JavaScriptModelException
null
if none is found.
The fully qualified name is a dot-separated name. For example,
a class B defined as a member type of a class A in package x.y should have a
the fully qualified name "x.y.A.B".
Note that in order to be found, a type name (or its toplevel enclosing
type name) must match its corresponding javaScript unit name. As a
consequence, secondary types cannot be found using this functionality.
To find secondary types use findType(String, IProgressMonitor)
instead.
fullyQualifiedName
- the given fully qualified name
null
if none is found
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String fullyQualifiedName, IProgressMonitor progressMonitor) throws JavaScriptModelException
findType(String)
but also look for secondary
types if given name does not match a javaScript unit name.
fullyQualifiedName
- the given fully qualified nameprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is provided
null
if none is found
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String fullyQualifiedName, WorkingCopyOwner owner, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, WorkingCopyOwner)
but also look for secondary types if given name does not match
a javaScript unit name.
fullyQualifiedName
- the given fully qualified nameowner
- the owner of the returned type's javaScript unitprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is provided
null
if none is found
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String packageName, java.lang.String typeQualifiedName, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, String)
but also look for
secondary types if given name does not match a javaScript unit name.
packageName
- the given package nametypeQualifiedName
- the given type qualified nameprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is provided
null
if none is found
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IType findType(java.lang.String packageName, java.lang.String typeQualifiedName, WorkingCopyOwner owner, IProgressMonitor progressMonitor) throws JavaScriptModelException
#findType(String, String, WorkingCopyOwner)
but also look for secondary types if given name does not match a javaScript unit name.
packageName
- the given package nametypeQualifiedName
- the given type qualified nameowner
- the owner of the returned type's javaScript unitprogressMonitor
- the progress monitor to report progress to,
or null
if no progress monitor is provided
null
if none is found
JavaScriptModelException
- if this project does not exist or if an
exception occurs while accessing its corresponding resourceIType.getFullyQualifiedName(char)
IPackageFragmentRoot[] getAllPackageFragmentRoots() throws JavaScriptModelException
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.Object[] getNonJavaScriptResources() throws JavaScriptModelException
Non-JavaScript resources includes other files and folders located in the project not accounted for by any of it source or binary package fragment roots. If the project is a source folder itself, resources excluded from the corresponding source includepath entry by one or more exclusion patterns are considered non-JavaScript resources and will appear in the result (possibly in a folder)
IFile
s and/or
IFolder
s) directly contained in this project
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourcejava.lang.String getOption(java.lang.String optionName, boolean inheritJavaCoreOptions)
(String)this.getOptions(inheritJavaCoreOptions).get(optionName)
Note that it may answer null
if this option does not exist, or if there is no custom value for it.
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
optionName
- the name of an optioninheritJavaCoreOptions
- - boolean indicating whether JavaScriptCore options should be inherited as well
JavaScriptCore.getDefaultOptions()
java.util.Map getOptions(boolean inheritJavaCoreOptions)
JavaScriptCore
.
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
inheritJavaCoreOptions
- - boolean indicating whether JavaScriptCore options should be inherited as well
String
; value type: String
)JavaScriptCore.getDefaultOptions()
IPath getOutputLocation() throws JavaScriptModelException
The default output location is where class files are ordinarily generated (and resource files, copied). Each source includepath entry can also specify an output location for the generated class files (and copied resource files) corresponding to javaScript units under that source folder. This makes it possible to arrange generated class files for different source folders in different output folders, and not necessarily the default output folder. This means that the generated class files for the project may end up scattered across several folders, rather than all in the default output folder (which is more standard).
JavaScriptModelException
- if this element does not exist#setOutputLocation(org.eclipse.core.runtime.IPath, IProgressMonitor)
,
IIncludePathEntry.getOutputLocation()
IPackageFragmentRoot getPackageFragmentRoot(java.lang.String filePath)
java.io.File
may or may not exist. No resource is associated with this local file
package fragment root.
filePath
- the file system path
IPackageFragmentRoot[] getPackageFragmentRoots() throws JavaScriptModelException
NOTE: This is equivalent to getChildren()
.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIPackageFragment[] getPackageFragments() throws JavaScriptModelException
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIProject getProject()
IProject
on which this IJavaScriptProject
was created. This is handle-only method.
IProject
on which this IJavaScriptProject
was createdIIncludePathEntry[] getRawIncludepath() throws JavaScriptModelException
setRawIncludepath
, in particular such a includepath may
contain includepath variable and includepath container entries. Includepath
variable and includepath container entries can be resolved using the
helper method getResolvedIncludepath
; includepath variable
entries also can be resolved individually using
JavaScriptCore#getIncludepathVariable
).
Both includepath containers and includepath variables provides a level of
indirection that can make the .jsdtScope
file stable across
workspaces.
Note that in case the project isn't yet opened, the includepath will be read directly from the associated .jsdtScope file.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIIncludePathEntry
java.lang.String[] getRequiredProjectNames() throws JavaScriptModelException
The project names are returned in the order they appear on the includepath.
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resourceIIncludePathEntry[] getResolvedIncludepath(boolean ignoreUnresolvedEntry) throws JavaScriptModelException
The resulting resolved includepath is accurate for the given point in time. If the project's raw includepath is later modified, or if includepath variables are changed, the resolved includepath can become out of date. Because of this, hanging on resolved includepath is not recommended.
ignoreUnresolvedEntry
- indicates how to handle unresolvable
variables and containers; true
indicates that missing
variables and unresolvable includepath containers should be silently
ignored, and that the resulting list should consist only of the
entries that could be successfully resolved; false
indicates
that a JavaScriptModelException
should be thrown for the first
unresolved variable or container
JavaScriptModelException
- in one of the corresponding situation:
ignoreUnresolvedEntry
is false
.IIncludePathEntry
boolean hasBuildState()
boolean hasIncludepathCycle(IIncludePathEntry[] entries)
entries
- the given includepath entries
boolean isOnIncludepath(IJavaScriptElement element)
element
- the given element
true
if the given element is on the includepath of
this project, false
otherwiseIIncludePathEntry.getInclusionPatterns()
,
IIncludePathEntry.getExclusionPatterns()
IEvaluationContext newEvaluationContext()
ITypeHierarchy newTypeHierarchy(IRegion region, IProgressMonitor monitor) throws JavaScriptModelException
monitor
- the given progress monitorregion
- the given region
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
java.lang.IllegalArgumentException
- if region is null
ITypeHierarchy newTypeHierarchy(IRegion region, WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaScriptModelException
Note that if a working copy is empty, it will be as if the original javaScript unit had been deleted.
monitor
- the given progress monitorregion
- the given regionowner
- the owner of working copies that take precedence over their original javaScript units
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
java.lang.IllegalArgumentException
- if region is null
ITypeHierarchy newTypeHierarchy(IType type, IRegion region, IProgressMonitor monitor) throws JavaScriptModelException
type
- the given typeregion
- the given regionmonitor
- the given monitor
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
java.lang.IllegalArgumentException
- if type or region is null
ITypeHierarchy newTypeHierarchy(IType type, IRegion region, WorkingCopyOwner owner, IProgressMonitor monitor) throws JavaScriptModelException
Note that if a working copy is empty, it will be as if the original javaScript unit had been deleted.
type
- the given typeregion
- the given regionmonitor
- the given monitorowner
- the owner of working copies that take precedence over their original javaScript units
JavaScriptModelException
- if this element does not exist or if an
exception occurs while accessing its corresponding resource
java.lang.IllegalArgumentException
- if type or region is null
IPath readOutputLocation()
.jsdtScope
file from disk, or null
if unable to read the file.
This output location may differ from the in-memory one returned by getOutputLocation
, in case the
automatic reconciliation mechanism has not been performed yet. Usually, any change to the .classpath
file
is automatically noticed and reconciled at the next resource change notification event.
However, if the file is modified within an operation, where this change needs to be taken into account before the
operation ends, then the output location from disk can be read using this method, and further assigned to the project
using setRawIncludepath(...)
.
The default output location is where class files are ordinarily generated (and resource files, copied). Each source includepath entry can also specify an output location for the generated class files (and copied resource files) corresponding to javaScript units under that source folder. This makes it possible to arrange generated class files for different source folders in different output folders, and not necessarily the default output folder. This means that the generated class files for the project may end up scattered across several folders, rather than all in the default output folder (which is more standard).
In order to manually force a project includepath refresh, one can simply assign the project includepath using the result of this
method, as follows:
proj.setRawIncludepath(proj.readRawIncludepath(), proj.readOutputLocation(), monitor)
(note that the readRawIncludepath/readOutputLocation
methods could return null
).
getOutputLocation()
IIncludePathEntry[] readRawIncludepath()
.jsdtScope
file from disk, or null
if unable to read the file.
This includepath may differ from the in-memory includepath returned by
getRawIncludepath
, in case the automatic reconciliation
mechanism has not been performed yet. Usually, any change to the
.jsdtScope
file is automatically noticed and reconciled at
the next resource change notification event. However, if the file is
modified within an operation, where this change needs to be taken into
account before the operation ends, then the includepath from disk can be
read using this method, and further assigned to the project using
setRawIncludepath(...)
.
Includepath variable and includepath container entries can be resolved using
the helper method getResolvedIncludepath
; includepath variable
entries also can be resolved individually using
JavaScriptCore#getIncludepathVariable
).
Note that no check is performed whether the project has the JavaScript nature
set, allowing an existing .jsdtScope
file to be considered
independantly (unlike getRawIncludepath
which requires the
JavaScript nature to be associated with the project).
In order to manually force a project includepath refresh, one can simply
assign the project includepath using the result of this method, as follows:
proj.setRawIncludepath(proj.readRawIncludepath(), proj.readOutputLocation(), monitor)
(note that the readRawIncludepath/readOutputLocation
methods
could return null
).
getRawIncludepath()
,
IIncludePathEntry
void setOption(java.lang.String optionName, java.lang.String optionValue)
Map options = this.getOptions(false); map.put(optionName, optionValue); this.setOptions(map)
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
optionName
- the name of an optionoptionValue
- the value of the option to setJavaScriptCore.getDefaultOptions()
void setOptions(java.util.Map newOptions)
For a complete description of the configurable options, see JavaScriptCore#getDefaultOptions
.
newOptions
- the new options (key type: String
; value type: String
),
or null
to flush all custom options (clients will automatically get the global JavaScriptCore options).JavaScriptCore.getDefaultOptions()
void setOutputLocation(IPath path, IProgressMonitor monitor) throws JavaScriptModelException
The default output location is where class files are ordinarily generated (and resource files, copied). Each source includepath entries can also specify an output location for the generated class files (and copied resource files) corresponding to javaScript units under that source folder. This makes it possible to arrange that generated class files for different source folders to end up in different output folders, and not necessarily the default output folder. This means that the generated class files for the project may end up scattered across several folders, rather than all in the default output folder (which is more standard).
path
- the workspace-relative absolute path of the default output
foldermonitor
- the progress monitor
JavaScriptModelException
- if the includepath could not be set. Reasons include:
PATH_OUTSIDE_PROJECT
)
RELATIVE_PATH
)
INVALID_PATH
)
getOutputLocation()
,
IIncludePathEntry.getOutputLocation()
void setRawIncludepath(IIncludePathEntry[] entries, IPath outputLocation, boolean canModifyResources, IProgressMonitor monitor) throws JavaScriptModelException
JavaScriptCore.getIncludepathVariable(String)
),
or the full includepath can be resolved at once using the helper method getResolvedIncludepath(boolean)
.
If it is specified that this operation cannot modify resources, the .jsdtScope file will not be written to disk
and no error marker will be generated. To synchronize the .jsdtScope with the in-memory includepath,
one can use setRawIncludepath(readRawIncludepath(), true, monitor)
.
Setting the includepath to null
specifies a default includepath
(the project root). Setting the includepath to an empty array specifies an
empty includepath.
If a cycle is detected while setting this includepath (and if resources can be modified), an error marker will be added
to the project closing the cycle.
To avoid this problem, use hasIncludepathCycle(IIncludePathEntry[])
before setting the includepath.
This operation acquires a lock on the workspace's root.
entries
- a list of includepath entriesoutputLocation
- the default output locationcanModifyResources
- whether resources should be written to disk if neededmonitor
- the given progress monitor
JavaScriptModelException
- if the includepath could not be set. Reasons include:
JavaScriptConventions#validateIncludepath(IJavaScriptProject, IIncludePathEntry[], IPath)
IIncludePathEntry
void setRawIncludepath(IIncludePathEntry[] entries, boolean canModifyResources, IProgressMonitor monitor) throws JavaScriptModelException
JavaScriptCore.getIncludepathVariable(String)
),
or the full includepath can be resolved at once using the helper method getResolvedIncludepath(boolean)
.
If it is specified that this operation cannot modify resources, the .jsdtScope file will not be written to disk
and no error marker will be generated. To synchronize the .jsdtScope with the in-memory includepath,
one can use setRawIncludepath(readRawIncludepath(), true, monitor)
.
Setting the includepath to null
specifies a default includepath
(the project root). Setting the includepath to an empty array specifies an
empty includepath.
If a cycle is detected while setting this includepath (and if resources can be modified), an error marker will be added
to the project closing the cycle.
To avoid this problem, use hasIncludepathCycle(IIncludePathEntry[])
before setting the includepath.
This operation acquires a lock on the workspace's root.
entries
- a list of includepath entriescanModifyResources
- whether resources should be written to disk if neededmonitor
- the given progress monitor
JavaScriptModelException
- if the includepath could not be set. Reasons include:
JavaScriptConventions#validateIncludepath(IJavaScriptProject, IIncludePathEntry[], IPath)
IIncludePathEntry
void setRawIncludepath(IIncludePathEntry[] entries, IProgressMonitor monitor) throws JavaScriptModelException
JavaScriptCore.getIncludepathVariable(String)
),
or the full includepath can be resolved at once using the helper method getResolvedIncludepath(boolean)
.
Setting the includepath to null
specifies a default includepath
(the project root). Setting the includepath to an empty array specifies an
empty includepath.
If a cycle is detected while setting this includepath, an error marker will be added
to the project closing the cycle.
To avoid this problem, use hasIncludepathCycle(IIncludePathEntry[])
before setting the includepath.
This operation acquires a lock on the workspace's root.
entries
- a list of includepath entriesmonitor
- the given progress monitor
JavaScriptModelException
- if the includepath could not be set. Reasons include:
JavaScriptConventions#validateIncludepath(IJavaScriptProject, IIncludePathEntry[], IPath)
IIncludePathEntry
ITypeRoot findTypeRoot(java.lang.String fullyQualifiedName) throws JavaScriptModelException
JavaScriptModelException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |