Interface IJavaSearchScope


public interface IJavaSearchScope
An IJavaSearchScope defines where search result should be found by a SearchEngine. Clients must pass an instance of this interface to the search(...) methods. Such an instance can be created using the following factory methods: SearchEngine.createHierarchyScope(IType), SearchEngine.createJavaSearchScope(IJavaElement[]), SearchEngine.createWorkspaceScope() or clients may choose to implement this interface.
  • Field Details

    • JAR_FILE_ENTRY_SEPARATOR

      static final String JAR_FILE_ENTRY_SEPARATOR
      This constant defines the separator of the resourcePath string of the encloses(String) method. If present in the string, it separates the path to the jar file from the path to the .class file in the jar.
      See Also:
    • SOURCES

      static final int SOURCES
      Include type constant (bit mask) indicating that source folders should be considered in the search scope.
      Since:
      3.0
      See Also:
    • APPLICATION_LIBRARIES

      static final int APPLICATION_LIBRARIES
      Include type constant (bit mask) indicating that application libraries should be considered in the search scope.
      Since:
      3.0
      See Also:
    • SYSTEM_LIBRARIES

      static final int SYSTEM_LIBRARIES
      Include type constant (bit mask) indicating that system libraries should be considered in the search scope.
      Since:
      3.0
      See Also:
    • REFERENCED_PROJECTS

      static final int REFERENCED_PROJECTS
      Include type constant (bit mask) indicating that referenced projects should be considered in the search scope.
      Since:
      3.0
      See Also:
  • Method Details

    • encloses

      boolean encloses(String resourcePath)
      Checks whether the resource at the given path is enclosed by this scope.
      Parameters:
      resourcePath - 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
    • encloses

      boolean encloses(IJavaElement element)
      Checks whether this scope encloses the given element.
      Parameters:
      element - the given element
      Returns:
      true if the element is in this scope
    • enclosingProjectsAndJars

      org.eclipse.core.runtime.IPath[] enclosingProjectsAndJars()
      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.
    • includesBinaries

      boolean includesBinaries()
      Deprecated.
      Use SearchEngine.createJavaSearchScope(IJavaElement[]) with the package fragment roots that correspond to the binaries instead.
      Returns whether this scope contains any .class files (either in folders or within JARs).
      Returns:
      whether this scope contains any .class files
    • includesClasspaths

      boolean includesClasspaths()
      Deprecated.
      Returns whether this scope includes classpaths defined by the projects of the resources of this search scope.
      Returns:
      whether this scope includes classpaths
    • setIncludesBinaries

      void setIncludesBinaries(boolean includesBinaries)
      Deprecated.
      Use SearchEngine.createJavaSearchScope(IJavaElement[]) with the package fragment roots that correspond to the binaries instead.
      Sets whether this scope contains any .class files (either in folders or within JARs).
      Parameters:
      includesBinaries - whether this scope contains any .class files
    • setIncludesClasspaths

      void setIncludesClasspaths(boolean includesClasspaths)
      Deprecated.
      Sets whether this scope includes the classpaths defined by the projects of the resources of this search scope.
      Parameters:
      includesClasspaths - whether this scope includes classpaths