01: /*******************************************************************************
02: * Copyright (c) 2000, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.core.search;
11:
12: /**
13: * A <code>ITypeNameRequestor</code> collects search results from a <code>searchAllTypeNames</code>
14: * query to a <code>SearchEngine</code>. Clients must implement this interface and pass
15: * an instance to the <code>searchAllTypeNames(...)</code> method. Only top-level and
16: * member types are reported. Local types are not reported.
17: * <p>
18: * This interface may be implemented by clients.
19: * </p>
20: * @deprecated Use abstract class {@link TypeNameRequestor} instead.
21: */
22: public interface ITypeNameRequestor {
23: /**
24: * Accepts a top-level or a member class.
25: *
26: * @param packageName the dot-separated name of the package of the class
27: * @param simpleTypeName the simple name of the class
28: * @param enclosingTypeNames if the class is a member type,
29: * the simple names of the enclosing types from the outer-most to the
30: * direct parent of the class (for example, if the class is x.y.A$B$C then
31: * the enclosing types are [A, B]. This is an empty array if the class
32: * is a top-level type.
33: * @param path the full path to the resource containing the class. If the resource is a .class file
34: * or a source file, this is the full path in the workspace to this resource. If the
35: * resource is an archive (that is, a .zip or .jar file), the path is composed of 2 paths separated
36: * by <code>IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR</code>:
37: * the first path is the full OS path to the archive (if it is an external archive),
38: * or the workspace relative <code>IPath</code> to the archive (if it is an internal archive),
39: * the second path is the path to the resource inside the archive.
40: */
41: void acceptClass(char[] packageName, char[] simpleTypeName,
42: char[][] enclosingTypeNames, String path);
43:
44: /**
45: * Accepts a top-level or a member interface.
46: *
47: * @param packageName the dot-separated name of the package of the interface
48: * @param simpleTypeName the simple name of the interface
49: * @param enclosingTypeNames if the interface is a member type,
50: * the simple names of the enclosing types from the outer-most to the
51: * direct parent of the interface (for example, if the interface is x.y.A$B$I then
52: * the enclosing types are [A, B]. This is an empty array if the interface
53: * is a top-level type.
54: * @param path the full path to the resource containing the interface. If the resource is a .class file
55: * or a source file, this is the full path in the workspace to this resource. If the
56: * resource is an archive (that is, a .zip or .jar file), the path is composed of 2 paths separated
57: * by <code>IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR</code>:
58: * the first path is the full OS path to the archive (if it is an external archive),
59: * or the workspace relative <code>IPath</code> to the archive (if it is an internal archive),
60: * the second path is the path to the resource inside the archive.
61: * */
62: void acceptInterface(char[] packageName, char[] simpleTypeName,
63: char[][] enclosingTypeNames, String path);
64: }
|