Class JavaWorkspaceScope

All Implemented Interfaces:
Cloneable, IJavaSearchScope, IParallelizable

public class JavaWorkspaceScope extends AbstractJavaSearchScope
A Java-specific scope for searching the entire workspace. The scope can be configured to not search binaries. By default, binaries are included.
  • Constructor Details

    • JavaWorkspaceScope

      public JavaWorkspaceScope()
  • Method Details

    • encloses

      public boolean encloses(IJavaElement element)
      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
    • encloses

      public boolean encloses(String resourcePathString)
      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 by JAR_FILE_ENTRY_SEPARATOR: the first path is the full OS path to the JAR (if it is an external JAR), or the workspace relative IPath 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
    • 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.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • getAccessRuleSet

      public AccessRuleSet getAccessRuleSet(String relativePath, String containerPath)
      Description copied from class: AbstractJavaSearchScope
      Get access rule set corresponding to a given path.
      Specified by:
      getAccessRuleSet in class AbstractJavaSearchScope
      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.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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 class AbstractJavaSearchScope
      Parameters:
      resourcePathString - path of expected package fragment root.
      jarSeparatorIndex - the index of the jar separator in the resource path, or -1 if none
      jarPath - the already extracted jar path, or null if none
      Returns:
      the package fragment root which path match the given one or null if none was found.
      See Also:
      AbstractJavaSearchScope.packageFragmentRoot(String, int, String)
    • processDelta

      public void processDelta(IJavaElementDelta delta, int eventType)
      Specified by:
      processDelta in class AbstractSearchScope
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isParallelSearchSupported

      public boolean isParallelSearchSupported()
      Description copied from interface: IParallelizable
      Answers true if the current instance supports parallel index search
      Specified by:
      isParallelSearchSupported in interface IParallelizable
      Overrides:
      isParallelSearchSupported in class AbstractSearchScope
      Returns:
      Returns true if the implementation is safe to be used in a parallel search.