added class fields to outline
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / ImportDeclaration.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/ImportDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/ImportDeclaration.java
new file mode 100644 (file)
index 0000000..0f3ad98
--- /dev/null
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * 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.internal.core;
+
+import net.sourceforge.phpdt.core.*;
+import net.sourceforge.phpdt.core.IImportDeclaration;
+import net.sourceforge.phpdt.core.JavaModelException;
+import net.sourceforge.phpdt.core.jdom.*;
+
+/**
+ * Handle for an import declaration. Info object is a ImportDeclarationElementInfo.
+ * @see IImportDeclaration
+ */
+
+/* package */ class ImportDeclaration extends SourceRefElement implements IImportDeclaration {
+
+
+/**
+ * Constructs an ImportDeclaration in the given import container
+ * with the given name.
+ */
+protected ImportDeclaration(ImportContainer parent, String name) {
+       super(parent, name);
+}
+public boolean equals(Object o) {
+       if (!(o instanceof ImportDeclaration)) return false;
+       return super.equals(o);
+}
+/**
+ * @see JavaElement#equalsDOMNode
+ * @deprecated JDOM is obsolete
+ */
+// TODO - JDOM - remove once model ported off of JDOM
+protected boolean equalsDOMNode(IDOMNode node) {
+       return (node.getNodeType() == IDOMNode.IMPORT) && getElementName().equals(node.getName());
+}
+/**
+ * @see IJavaElement
+ */
+public int getElementType() {
+       return IMPORT_DECLARATION;
+}
+/**
+ * @see org.eclipse.jdt.core.IImportDeclaration#getFlags()
+ */
+public int getFlags() throws JavaModelException {
+       ImportDeclarationElementInfo info = (ImportDeclarationElementInfo)getElementInfo();
+       return info.getModifiers();
+}
+/**
+ * @see JavaElement#getHandleMemento()
+ * For import declarations, the handle delimiter is associated to the import container already
+ */
+//public String getHandleMemento(){
+//     StringBuffer buff= new StringBuffer(((JavaElement)getParent()).getHandleMemento());
+//     escapeMementoName(buff, getElementName());
+//     if (this.occurrenceCount > 1) {
+//             buff.append(JEM_COUNT);
+//             buff.append(this.occurrenceCount);
+//     }
+//     return buff.toString();
+//}
+/**
+ * @see JavaElement#getHandleMemento()
+ */
+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;
+}
+/*
+ * @see JavaElement#getPrimaryElement(boolean)
+ */
+public IJavaElement getPrimaryElement(boolean checkOwner) {
+       CompilationUnit cu = (CompilationUnit)this.parent.getParent();
+       if (checkOwner && cu.isPrimary()) return this;
+       return cu.getImport(this.name);
+}
+/**
+ * Returns true if the import is on-demand (ends with ".*")
+ */
+public boolean isOnDemand() {
+       return this.name.endsWith(".*"); //$NON-NLS-1$
+}
+/**
+ */
+public String readableName() {
+
+       return null;
+}
+/**
+ * @private Debugging purposes
+ */
+protected void toStringInfo(int tab, StringBuffer buffer, Object info) {
+       buffer.append(this.tabString(tab));
+       buffer.append("import "); //$NON-NLS-1$
+       toStringName(buffer);
+       if (info == null) {
+               buffer.append(" (not open)"); //$NON-NLS-1$
+       }
+}
+}