Copyright (c) 2000, 2010 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2010 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.jdt.internal.core; import org.eclipse.core.runtime.Assert; import org.eclipse.jdt.core.*;
Handle for an import declaration. Info object is a ImportDeclarationElementInfo.
See Also:
  • IImportDeclaration
/** * Handle for an import declaration. Info object is a ImportDeclarationElementInfo. * @see IImportDeclaration */
public class ImportDeclaration extends SourceRefElement implements IImportDeclaration { protected String name; protected boolean isOnDemand;
Constructs an ImportDeclaration in the given import container with the given name.
/** * Constructs an ImportDeclaration in the given import container * with the given name. */
protected ImportDeclaration(ImportContainer parent, String name, boolean isOnDemand) { super(parent); this.name = name; this.isOnDemand = isOnDemand; } @Override public boolean equals(Object o) { if (!(o instanceof ImportDeclaration)) return false; return super.equals(o); } @Override public String getElementName() { if (this.isOnDemand) return this.name + ".*"; //$NON-NLS-1$ return this.name; } public String getNameWithoutStar() { return this.name; }
See Also:
  • IJavaElement
/** * @see IJavaElement */
@Override public int getElementType() { return IMPORT_DECLARATION; }
See Also:
  • getFlags.getFlags()
/** * @see org.eclipse.jdt.core.IImportDeclaration#getFlags() */
@Override public int getFlags() throws JavaModelException { ImportDeclarationElementInfo info = (ImportDeclarationElementInfo)getElementInfo(); return info.getModifiers(); }
See Also:
  • For import declarations, the handle delimiter is associated to the import container already
/** * @see JavaElement#getHandleMemento(StringBuffer) * For import declarations, the handle delimiter is associated to the import container already */
@Override protected void getHandleMemento(StringBuffer buff) { ((JavaElement)getParent()).getHandleMemento(buff); escapeMementoName(buff, getElementName()); if (this.occurrenceCount > 1) { buff.append(JEM_COUNT); buff.append(this.occurrenceCount); } }
See Also:
  • getHandleMemento.getHandleMemento()
/** * @see JavaElement#getHandleMemento() */
@Override protected char getHandleMementoDelimiter() { // For import declarations, the handle delimiter is associated to the import container already Assert.isTrue(false, "Should not be called"); //$NON-NLS-1$ return 0; } @Override public ISourceRange getNameRange() throws JavaModelException { ImportDeclarationElementInfo info = (ImportDeclarationElementInfo) getElementInfo(); return info.getNameRange(); } @Override public IJavaElement getPrimaryElement(boolean checkOwner) { CompilationUnit cu = (CompilationUnit)this.parent.getParent(); if (checkOwner && cu.isPrimary()) return this; return cu.getImport(getElementName()); }
Returns true if the import is on-demand (ends with ".*")
/** * Returns true if the import is on-demand (ends with ".*") */
@Override public boolean isOnDemand() { return this.isOnDemand; } /** */ @Override public String readableName() { return null; }
@privateDebugging purposes
/** * @private Debugging purposes */
@Override protected void toStringInfo(int tab, StringBuffer buffer, Object info, boolean showResolvedInfo) { buffer.append(tabString(tab)); buffer.append("import "); //$NON-NLS-1$ toStringName(buffer); if (info == null) { buffer.append(" (not open)"); //$NON-NLS-1$ } } }