org.aspectj.org.eclipse.jdt.core.dom.IPackageBinding Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aspectjtools Show documentation
Show all versions of aspectjtools Show documentation
Tools from the AspectJ project
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.aspectj.org.eclipse.jdt.core.dom;
/**
* A package binding represents a named or unnamed package.
*
* @since 2.0
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IPackageBinding extends IBinding {
/**
* Returns the name of the package represented by this binding. For named
* packages, this is the fully qualified package name (using "." for
* separators). For unnamed packages, this is an empty string.
*
* @return the name of the package represented by this binding, or
* an empty string for an unnamed package
*/
public String getName();
/**
* Returns whether this package is an unnamed package.
* See The Java Language Specification section 7.4.2 for details.
*
* @return true
if this is an unnamed package, and
* false
otherwise
*/
public boolean isUnnamed();
/**
* Returns the list of name component making up the name of the package
* represented by this binding. For example, for the package named
* "com.example.tool", this method returns {"com", "example", "tool"}.
* Returns the empty list for unnamed packages.
*
* @return the name of the package represented by this binding, or the
* empty list for unnamed packages
*/
public String[] getNameComponents();
// /**
// * Finds and returns the binding for the class or interface with the given
// * name declared in this package.
// *
// * For top-level classes and interfaces, the name here is just the simple
// * name of the class or interface. For nested classes and interfaces, the
// * name is the VM class name (in other words, a name like
// * "Outer$Inner"
as used to name the class file; see
// * ITypeBinding.getName
).
// *
// *
// * @param name the name of a class or interface
// * @return the type binding for the class or interface with the
// * given name declared in this package, or null
// * if there is no such type
// */
// public ITypeBinding findTypeBinding(String name);
}