Package org.eclipse.jdt.core.search

# Class TypeNameRequestor

java.lang.Object
org.eclipse.jdt.core.search.TypeNameRequestor

public abstract class TypeNameRequestor extends Object
A `TypeNameRequestor` collects search results from a `searchAllTypeNames` query to a `SearchEngine`. Clients must subclass this abstract class and pass an instance to the `SearchEngine.searchAllTypeNames(...)` method. Only top-level and member types are reported. Local types are not reported.

This class may be subclassed by clients.

Since:
  3.1

## Constructor Summary

Constructors
Constructor
Description
`TypeNameRequestor()`

## Method Summary

Modifier and Type
Method
Description
`void`
`acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path)`
Accepts a top-level or a member type.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### TypeNameRequestor

public TypeNameRequestor()

## Method Details

### acceptType

public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path)
Accepts a top-level or a member type.

The default implementation of this method does nothing. Subclasses should override.

Parameters:
  `modifiers` - the modifier flags of the type. Note that for source type, these flags may slightly differ from those get after resolution. For example an interface defined by `interface A {}`, although obviously public, will be returned false by `Flags.isPublic(modifiers)` due to the fact that its declaration does not explicitly define public flag.
  `packageName` - the package name as specified in the package declaration (i.e. a dot-separated name)
  `simpleTypeName` - the simple name of the type
  `enclosingTypeNames` - if the type is a member type, the simple names of the enclosing types from the outer-most to the direct parent of the type (for example, if the class is x.y.A$B$C then the enclosing types are [A, B]. This is an empty array if the type is a top-level type.
  `path` - the full path to the resource containing the type. If the resource is a .class file or a source file, this is the full path in the workspace to this resource. If the resource is an archive (that is, a .zip or .jar file), the path is composed of 2 paths separated by `IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR`: the first path is the full OS path to the archive (if it is an external archive), or the workspace relative `IPath` to the archive (if it is an internal archive), the second path is the path to the resource inside the archive.
See Also:
  - `Flags`