1 /*******************************************************************************
2  * Copyright (c) 2007, 2008 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.pde.api.tools.internal.provisional.descriptors;
15 
16 /**
17  * Description of a package.
18  * <p>
19  * A package has no parent.
20  * </p>
21  *
22  * @since 1.0.0
23  */
24 public interface IPackageDescriptor extends IElementDescriptor {
25 
26 	/**
27 	 * Returns this package's name. Package names are dot qualified.
28 	 *
29 	 * @return package name
30 	 */
getName()31 	public String getName();
32 
33 	/**
34 	 * Returns a descriptor for a type in this package with the given name. The
35 	 * given name is not package qualified. Inner types are '$'-separated.
36 	 *
37 	 * @param typeQualifiedName type qualified name
38 	 * @return type descriptor
39 	 */
getType(String typeQualifiedName)40 	public IReferenceTypeDescriptor getType(String typeQualifiedName);
41 
42 	/**
43 	 * Returns a descriptor for a type in this package with the given name. The
44 	 * given name is not package qualified. Inner types are '$'-separated.
45 	 * <p>
46 	 * Extra type signature information may be provided for generic types.
47 	 * </p>
48 	 *
49 	 * @param typeQualifiedName type qualified name
50 	 * @param signature type signature information or <code>null</code>
51 	 * @return type descriptor
52 	 */
getType(String typeQualifiedName, String signature)53 	public IReferenceTypeDescriptor getType(String typeQualifiedName, String signature);
54 
55 }
56