Searches for all top-level types and member types in the given scope. The search can be selecting specific types (given a package exact full name or a type name with specific match mode).
@param packageExactName the exact package full name of the searched types.
If you want to use a prefix or a wild-carded string for package, you need to use {@link #searchAllTypeNames(char[],int,char[],int,int,IJavaSearchScope,TypeNameRequestor,int,IProgressMonitor)}method instead. May be
null
, then any package name is accepted.
@param typeName the dot-separated qualified name of the searched type (the qualification includethe enclosing types if the searched type is a member type), or a prefix for this type, or a wild-carded string for this type. May be
null
, then any type name is accepted.
@param matchRule type name match rule one of
- {@link SearchPattern#R_EXACT_MATCH} if the package name and type name are the full namesof the searched types.
- {@link SearchPattern#R_PREFIX_MATCH} if the package name and type name are prefixes of the namesof the searched types.
- {@link SearchPattern#R_PATTERN_MATCH} if the package name and type name contain wild-cards.
- {@link SearchPattern#R_CAMELCASE_MATCH} if type name are camel case of the names of the searched types.
combined with {@link SearchPattern#R_CASE_SENSITIVE}, e.g. {@link SearchPattern#R_EXACT_MATCH} | {@link SearchPattern#R_CASE_SENSITIVE} if an exact and case sensitive match is requested, or {@link SearchPattern#R_PREFIX_MATCH} if a prefix non case sensitive match is requested.
@param searchFor determines the nature of the searched elements
- {@link IJavaSearchConstants#CLASS}: only look for classes
- {@link IJavaSearchConstants#INTERFACE}: only look for interfaces
- {@link IJavaSearchConstants#ENUM}: only look for enumeration
- {@link IJavaSearchConstants#ANNOTATION_TYPE}: only look for annotation type
- {@link IJavaSearchConstants#CLASS_AND_ENUM}: only look for classes and enumerations
- {@link IJavaSearchConstants#CLASS_AND_INTERFACE}: only look for classes and interfaces
- {@link IJavaSearchConstants#TYPE}: look for all types (ie. classes, interfaces, enum and annotation types)
@param scope the scope to search in
@param nameRequestor the requestor that collects the results of the search
@param waitingPolicy one of
- {@link IJavaSearchConstants#FORCE_IMMEDIATE_SEARCH} if the search should start immediately
- {@link IJavaSearchConstants#CANCEL_IF_NOT_READY_TO_SEARCH} if the search should be cancelled if theunderlying indexer has not finished indexing the workspace
- {@link IJavaSearchConstants#WAIT_UNTIL_READY_TO_SEARCH} if the search should wait for theunderlying indexer to finish indexing the workspace
@param progressMonitor the progress monitor to report progress to, or
null
if no progressmonitor is provided
@exception JavaModelException if the search failed. Reasons include:
- the classpath is incorrectly set
@since 3.1
@deprecated Use {@link #searchAllTypeNames(char[],int,char[],int,int,IJavaSearchScope,TypeNameRequestor,int,IProgressMonitor)}instead