Class JavaSearchScope
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.search.AbstractSearchScope
org.aspectj.org.eclipse.jdt.internal.core.search.AbstractJavaSearchScope
org.aspectj.org.eclipse.jdt.internal.core.search.JavaSearchScope
- All Implemented Interfaces:
Cloneable
,IJavaSearchScope
,IParallelizable
A Java-specific scope for searching relative to one or more java elements.
-
Field Summary
Fields inherited from interface org.aspectj.org.eclipse.jdt.core.search.IJavaSearchScope
APPLICATION_LIBRARIES, JAR_FILE_ENTRY_SEPARATOR, REFERENCED_PROJECTS, SOURCES, SYSTEM_LIBRARIES
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add(IJavaElement element)
Add an element to the java search scope.void
add(JavaProject project, int includeMask, HashSet projectsToBeAdded)
Add java project all fragment roots to current java search scope.boolean
Checks whether the resource at the given path is enclosed by this scope.boolean
encloses(IJavaElement element)
Checks whether this scope encloses the given element.org.eclipse.core.runtime.IPath[]
Returns the paths to the enclosing projects and JARs for this search scope.getAccessRuleSet(String relativePath, String containerPath)
Get access rule set corresponding to a given path.protected void
initialize(int size)
boolean
Answerstrue
if the current instance supports parallel index searchpackageFragmentRoot(String resourcePathString, int jarSeparatorIndex, String jarPath)
Returns the package fragment root corresponding to a given resource path.void
processDelta(IJavaElementDelta delta, int eventType)
toString()
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.AbstractSearchScope
clone, includesBinaries, includesClasspaths, setIncludesBinaries, setIncludesClasspaths
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.search.IParallelizable
initBeforeSearch
-
Field Details
-
pathRestrictions
-
NOT_ENCLOSED
-
-
Constructor Details
-
JavaSearchScope
public JavaSearchScope(boolean excludeTestCode)
-
-
Method Details
-
add
public void add(JavaProject project, int includeMask, HashSet projectsToBeAdded) throws JavaModelExceptionAdd java project all fragment roots to current java search scope.- Throws:
JavaModelException
- See Also:
add(JavaProject, IPath, int, HashSet, HashSet, IClasspathEntry)
-
add
Add an element to the java search scope.- Parameters:
element
- The element we want to add to current java search scope- Throws:
JavaModelException
- May happen if some Java Model info are not available
-
encloses
Description copied from interface:IJavaSearchScope
Checks whether the resource at the given path is enclosed by this scope.- Parameters:
resourcePathString
- if the resource is contained in a JAR file, the path is composed of 2 paths separated byJAR_FILE_ENTRY_SEPARATOR
: the first path is the full OS path to the JAR (if it is an external JAR), or the workspace relativeIPath
to the JAR (if it is an internal JAR), the second path is the path to the resource inside the JAR.- Returns:
- whether the resource is enclosed by this scope
-
encloses
Description copied from interface:IJavaSearchScope
Checks whether this scope encloses the given element.- Parameters:
element
- the given element- Returns:
true
if the element is in this scope
-
enclosingProjectsAndJars
public org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars()Description copied from interface:IJavaSearchScope
Returns the paths to the enclosing projects and JARs for this search scope.- If the path is a project path, this is the full path of the project
(see
IResource.getFullPath()
). For example, /MyProject - If the path is a JAR path and this JAR is internal to the workspace,
this is the full path of the JAR file (see
IResource.getFullPath()
). For example, /MyProject/mylib.jar - If the path is a JAR path and this JAR is external to the workspace, this is the full OS path to the JAR file on the file system. For example, d:\libs\mylib.jar
- Returns:
- an array of paths to the enclosing projects and JARS.
- If the path is a project path, this is the full path of the project
(see
-
getAccessRuleSet
Description copied from class:AbstractJavaSearchScope
Get access rule set corresponding to a given path.- Specified by:
getAccessRuleSet
in classAbstractJavaSearchScope
- Parameters:
relativePath
- The path user want to have restriction access- Returns:
- The access rule set for given path or null if none is set for it. Returns specific unit access rule set when scope does not enclose the given path.
-
initialize
protected void initialize(int size) -
processDelta
- Specified by:
processDelta
in classAbstractSearchScope
-
packageFragmentRoot
public IPackageFragmentRoot packageFragmentRoot(String resourcePathString, int jarSeparatorIndex, String jarPath)Description copied from class:AbstractJavaSearchScope
Returns the package fragment root corresponding to a given resource path.- Specified by:
packageFragmentRoot
in classAbstractJavaSearchScope
- Parameters:
resourcePathString
- path of expected package fragment root.jarSeparatorIndex
- the index of the jar separator in the resource path, or -1 if nonejarPath
- the already extracted jar path, or null if none- Returns:
- the
package fragment root
which path match the given one ornull
if none was found. - See Also:
AbstractJavaSearchScope.packageFragmentRoot(String, int, String)
-
toString
-
isParallelSearchSupported
public boolean isParallelSearchSupported()Description copied from interface:IParallelizable
Answerstrue
if the current instance supports parallel index search- Specified by:
isParallelSearchSupported
in interfaceIParallelizable
- Overrides:
isParallelSearchSupported
in classAbstractSearchScope
- Returns:
- Returns
true
if the implementation is safe to be used in a parallel search.
-