# Package org.eclipse.jdt.core.search

Provides support for searching the workspace Java elements that match a particular description.

## Package Specification

This package provides support for searching the workspace Java elements that match a particular description. In particular, it provides a search engine with a set of search patterns and search result requestors.

Interface Summary
IJavaSearchConstants: This interface defines the constants used by the search engine.
IJavaSearchResultCollector: Deprecated. Since 3.0, the class `SearchRequestor` replaces this interface.
IJavaSearchScope: An `IJavaSearchScope` defines where search result should be found by a `SearchEngine`.
IParallelizable: This interface can be used by `IJavaSearchScope`, `JavaSearchParticipant` and `SearchPattern` to mark implementors as eligible for parallel index search.
ISearchPattern: Deprecated. Since 3.0, the class `SearchPattern` replaces this interface.
ITypeNameRequestor: Deprecated. Use abstract class `TypeNameRequestor` instead.

Class Summary
FieldDeclarationMatch: A Java search match that represents a field declaration.
FieldReferenceMatch: A Java search match that represents a field reference.
LocalVariableDeclarationMatch: A Java search match that represents a local variable declaration.
LocalVariableReferenceMatch: A Java search match that represents a local variable reference.
MethodDeclarationMatch: A Java search match that represents a method declaration.
MethodNameMatch: A match collected while `searching` for all type names methods using a `requestor`.
MethodNameMatchRequestor: A `MethodNameMatchRequestor` collects matches from a `searchAllMethodNames` query to a `SearchEngine`.
MethodNameRequestor: A `MethodDeclarationRequestor` collects search results from a `searchAllMethodDeclarations` query to a `SearchEngine`.
MethodReferenceMatch: A Java search match that represents a method reference.
ModuleDeclarationMatch: A Java search match that represents a module declaration.
ModuleReferenceMatch: A Java search match that represents a module reference.
PackageDeclarationMatch: A Java search match that represents a package declaration.
PackageReferenceMatch: A Java search match that represents a package reference.
ReferenceMatch: An abstract Java search match that represents a reference.
SearchDocument: A search document encapsulates a content to be either indexed or searched in.
SearchEngine: A `SearchEngine` searches for Java elements following a search pattern.
SearchMatch: A search match represents the result of a search query.
SearchParticipant: A search participant describes a particular extension to a generic search mechanism, permitting combined search actions which will involve all required participants.
SearchPattern: A search pattern defines how search results are found.
SearchRequestor: Collects the results from a search engine query.
TypeDeclarationMatch: A Java search match that represents a type declaration.
TypeNameMatch: A match collected while `searching` for all type names methods using a `requestor`.
TypeNameMatchRequestor: A `TypeNameMatchRequestor` collects matches from a `searchAllTypeNames` query to a `SearchEngine`.
TypeNameRequestor: A `TypeNameRequestor` collects search results from a `searchAllTypeNames` query to a `SearchEngine`.
TypeParameterDeclarationMatch: A Java search match that represents a type parameter declaration or reference.
TypeParameterReferenceMatch: A Java search match that represents a type parameter declaration or reference.
TypeReferenceMatch: A Java search match that represents a type reference.