org.eclipse.wst.jsdt.core.search

## Class TypeNameRequestor

- java.lang.Object
- - org.eclipse.wst.jsdt.core.search.TypeNameRequestor

    public abstract class TypeNameRequestor
    extends java.lang.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.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Constructor Summary

Constructors
Constructor and Description
`TypeNameRequestor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, java.lang.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 Detail

#### TypeNameRequestor

    public TypeNameRequestor()

### Method Detail

#### acceptType

    public void acceptType(int modifiers,
                           char[] packageName,
                           char[] simpleTypeName,
                           char[][] enclosingTypeNames,
                           java.lang.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 thoses 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 explicitely define public flag.
  `packageName` - the dot-separated name of the package of the type
  `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 `IJavaScriptSearchScope.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`