/******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package net.sourceforge.phpdt.core.search; /** * A ITypeNameRequestor collects search results from a * searchAllTypeNames query to a SearchEngine. * Clients must implement this interface and pass an instance to the * searchAllTypeNames(...) method. Only top-level and member * types are reported. Local types are not reported. *

* This interface may be implemented by clients. *

*/ public interface ITypeNameRequestor { /** * Accepts a top-level or a member class. * * @param packageName * the dot-separated name of the package of the class * @param simpleTypeName * the simple name of the class * @param enclosingTypeNames * if the class is a member type, the simple names of the * enclosing types from the outer-most to the direct parent of * the class (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 * class is a top-level type. * @param path * the full path to the resource containing the class. If the * resource is a .class file or a .java 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. */ void acceptClass(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path); /** * Accepts a top-level or a member interface. * * @param packageName * the dot-separated name of the package of the interface * @param simpleTypeName * the simple name of the interface * @param enclosingTypeNames * if the interface is a member type, the simple names of the * enclosing types from the outer-most to the direct parent of * the interface (for example, if the interface is x.y.A$B$I then * the enclosing types are [A, B]. This is an empty array if the * interface is a top-level type. * @param path * the full path to the resource containing the interface. If the * resource is a .class file or a .java 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. */ void acceptInterface(char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path); }