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
FieldsFields inherited from interface org.aspectj.org.eclipse.jdt.core.search.IJavaSearchScope
APPLICATION_LIBRARIES, JAR_FILE_ENTRY_SEPARATOR, REFERENCED_PROJECTS, SOURCES, SYSTEM_LIBRARIES -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(IJavaElement element) Add an element to the java search scope.voidadd(JavaProject project, int includeMask, Set<JavaProject> projectsToBeAdded) Add java project all fragment roots to current java search scope.booleanChecks whether the resource at the given path is enclosed by this scope.booleanencloses(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 voidinitialize(int size) booleanAnswerstrueif the current instance supports parallel index searchpackageFragmentRoot(String resourcePathString, int jarSeparatorIndex, String jarPath) Returns the package fragment root corresponding to a given resource path.voidprocessDelta(IJavaElementDelta delta, int eventType) toString()Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.AbstractSearchScope
clone, includesBinaries, includesClasspaths, setIncludesBinaries, setIncludesClasspathsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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, Set<JavaProject> projectsToBeAdded) throws JavaModelException Add java project all fragment roots to current java search scope.- Throws:
JavaModelException- See Also:
-
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:IJavaSearchScopeChecks 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 relativeIPathto 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:IJavaSearchScopeChecks whether this scope encloses the given element.- Parameters:
element- the given element- Returns:
trueif the element is in this scope
-
enclosingProjectsAndJars
public org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars()Description copied from interface:IJavaSearchScopeReturns 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:AbstractJavaSearchScopeGet access rule set corresponding to a given path.- Specified by:
getAccessRuleSetin 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:
processDeltain classAbstractSearchScope
-
packageFragmentRoot
public IPackageFragmentRoot packageFragmentRoot(String resourcePathString, int jarSeparatorIndex, String jarPath) Description copied from class:AbstractJavaSearchScopeReturns the package fragment root corresponding to a given resource path.- Specified by:
packageFragmentRootin 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 rootwhich path match the given one ornullif none was found. - See Also:
-
toString
-
isParallelSearchSupported
public boolean isParallelSearchSupported()Description copied from interface:IParallelizableAnswerstrueif the current instance supports parallel index search- Specified by:
isParallelSearchSupportedin interfaceIParallelizable- Overrides:
isParallelSearchSupportedin classAbstractSearchScope- Returns:
- Returns
trueif the implementation is safe to be used in a parallel search.
-