A massive organize imports and formatting of the sources using default Eclipse code...
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / JavaElement.java
index a14455c..3afb507 100644 (file)
@@ -45,25 +45,36 @@ import org.eclipse.core.runtime.jobs.ISchedulingRule;
 
 /**
  * Root of Java element handle hierarchy.
- *  
+ * 
  * @see IJavaElement
  */
-public abstract class JavaElement extends PlatformObject
-               implements
-                       IJavaElement {
-    public static final char JEM_ESCAPE = '\\';
+public abstract class JavaElement extends PlatformObject implements
+               IJavaElement {
+       public static final char JEM_ESCAPE = '\\';
+
        public static final char JEM_JAVAPROJECT = '=';
+
        public static final char JEM_PACKAGEFRAGMENTROOT = Path.SEPARATOR;
+
        public static final char JEM_PACKAGEFRAGMENT = '<';
+
        public static final char JEM_FIELD = '^';
+
        public static final char JEM_METHOD = '~';
+
        public static final char JEM_INITIALIZER = '|';
+
        public static final char JEM_COMPILATIONUNIT = '{';
-//     public static final char JEM_CLASSFILE = '(';
+
+       // public static final char JEM_CLASSFILE = '(';
        public static final char JEM_TYPE = '[';
+
        public static final char JEM_PACKAGEDECLARATION = '%';
+
        public static final char JEM_IMPORTDECLARATION = '#';
+
        public static final char JEM_COUNT = '!';
+
        public static final char JEM_LOCALVARIABLE = '@';
 
        /**
@@ -79,10 +90,10 @@ public abstract class JavaElement extends PlatformObject
         * This element's type - one of the constants defined in
         * IJavaLanguageElementTypes.
         */
-       //protected int fLEType = 0;
+       // protected int fLEType = 0;
        /**
-        * This element's parent, or <code>null</code> if this
-        * element does not have a parent.
+        * This element's parent, or <code>null</code> if this element does not
+        * have a parent.
         */
        protected JavaElement parent;
 
@@ -106,27 +117,31 @@ public abstract class JavaElement extends PlatformObject
         * @exception IllegalArgumentException
         *                if the type is not one of the valid Java element type
         *                constants
-        *  
+        * 
         */
        protected JavaElement(JavaElement parent, String name)
                        throws IllegalArgumentException {
                this.parent = parent;
                this.name = name;
        }
+
        /**
         * @see IOpenable
         */
        public void close() throws JavaModelException {
                JavaModelManager.getJavaModelManager().removeInfoAndChildren(this);
        }
+
        /**
         * This element is being closed. Do any necessary cleanup.
         */
        protected abstract void closing(Object info) throws JavaModelException;
+
        /*
         * Returns a new element info for this element.
         */
        protected abstract Object createElementInfo();
+
        /**
         * Returns true if this handle represents the same Java element as the given
         * handle. By default, two handles represent the same element if they are
@@ -156,6 +171,7 @@ public abstract class JavaElement extends PlatformObject
                }
                return false;
        }
+
        /**
         * Returns true if this <code>JavaElement</code> is equivalent to the
         * given <code>IDOMNode</code>.
@@ -163,30 +179,31 @@ public abstract class JavaElement extends PlatformObject
        protected boolean equalsDOMNode(IDOMNode node) throws JavaModelException {
                return false;
        }
+
        protected void escapeMementoName(StringBuffer buffer, String mementoName) {
                for (int i = 0, length = mementoName.length(); i < length; i++) {
                        char character = mementoName.charAt(i);
                        switch (character) {
-                               case JEM_ESCAPE:
-                               case JEM_COUNT:
-                               case JEM_JAVAPROJECT:
-                               case JEM_PACKAGEFRAGMENTROOT:
-                               case JEM_PACKAGEFRAGMENT:
-                               case JEM_FIELD:
-                               case JEM_METHOD:
-                               case JEM_INITIALIZER:
-                               case JEM_COMPILATIONUNIT:
-//                             case JEM_CLASSFILE:
-                               case JEM_TYPE:
-                               case JEM_PACKAGEDECLARATION:
-                               case JEM_IMPORTDECLARATION:
-                               case JEM_LOCALVARIABLE:
-                                       buffer.append(JEM_ESCAPE);
+                       case JEM_ESCAPE:
+                       case JEM_COUNT:
+                       case JEM_JAVAPROJECT:
+                       case JEM_PACKAGEFRAGMENTROOT:
+                       case JEM_PACKAGEFRAGMENT:
+                       case JEM_FIELD:
+                       case JEM_METHOD:
+                       case JEM_INITIALIZER:
+                       case JEM_COMPILATIONUNIT:
+                               // case JEM_CLASSFILE:
+                       case JEM_TYPE:
+                       case JEM_PACKAGEDECLARATION:
+                       case JEM_IMPORTDECLARATION:
+                       case JEM_LOCALVARIABLE:
+                               buffer.append(JEM_ESCAPE);
                        }
                        buffer.append(character);
                }
        }
-       
+
        /**
         * @see IJavaElement
         */
@@ -240,6 +257,7 @@ public abstract class JavaElement extends PlatformObject
                        return null;
                }
        }
+
        /**
         */
        protected IDOMNode followPath(ArrayList path, int position, IDOMNode node) {
@@ -267,6 +285,7 @@ public abstract class JavaElement extends PlatformObject
                }
 
        }
+
        /**
         * @see IJavaElement
         */
@@ -280,6 +299,7 @@ public abstract class JavaElement extends PlatformObject
                }
                return null;
        }
+
        /**
         * Generates the element infos for this element, its ancestors (if they are
         * not opened) and its children (if it is an Openable). Puts the newly
@@ -294,6 +314,7 @@ public abstract class JavaElement extends PlatformObject
        public IJavaElement[] getChildren() throws JavaModelException {
                return ((JavaElementInfo) getElementInfo()).getChildren();
        }
+
        /**
         * Returns a collection of (immediate) children of this node of the
         * specified type.
@@ -313,18 +334,20 @@ public abstract class JavaElement extends PlatformObject
                }
                return list;
        }
+
        /**
         * @see IMember
         */
-       //      public IClassFile getClassFile() {
-       //              return null;
-       //      }
+       // public IClassFile getClassFile() {
+       // return null;
+       // }
        /**
         * @see IMember
         */
        public ICompilationUnit getCompilationUnit() {
                return null;
        }
+
        /**
         * Returns the info for this handle. If this element is not already open, it
         * and all of its parents are opened. Does not return null. NOTE: BinaryType
@@ -336,6 +359,7 @@ public abstract class JavaElement extends PlatformObject
        public Object getElementInfo() throws JavaModelException {
                return getElementInfo(null);
        }
+
        /**
         * Returns the info for this handle. If this element is not already open, it
         * and all of its parents are opened. Does not return null. NOTE: BinaryType
@@ -353,6 +377,7 @@ public abstract class JavaElement extends PlatformObject
                        return info;
                return openWhenClosed(createElementInfo(), monitor);
        }
+
        /**
         * @see IAdaptable
         */
@@ -361,41 +386,52 @@ public abstract class JavaElement extends PlatformObject
        }
 
        /*
-        * Creates a Java element handle from the given memento.
-        * The given token is the current delimiter indicating the type of the next token(s).
-        * The given working copy owner is used only for compilation unit handles.
+        * Creates a Java element handle from the given memento. The given token is
+        * the current delimiter indicating the type of the next token(s). The given
+        * working copy owner is used only for compilation unit handles.
         */
-       public abstract IJavaElement getHandleFromMemento(String token, MementoTokenizer memento, WorkingCopyOwner owner);
+       public abstract IJavaElement getHandleFromMemento(String token,
+                       MementoTokenizer memento, WorkingCopyOwner owner);
+
        /*
-        * Creates a Java element handle from the given memento.
-        * The given working copy owner is used only for compilation unit handles.
+        * Creates a Java element handle from the given memento. The given working
+        * copy owner is used only for compilation unit handles.
         */
-       public IJavaElement getHandleFromMemento(MementoTokenizer memento, WorkingCopyOwner owner) {
-               if (!memento.hasMoreTokens()) return this;
+       public IJavaElement getHandleFromMemento(MementoTokenizer memento,
+                       WorkingCopyOwner owner) {
+               if (!memento.hasMoreTokens())
+                       return this;
                String token = memento.nextToken();
                return getHandleFromMemento(token, memento, owner);
        }
+
        /*
-        * Update the occurence count of the receiver and creates a Java element handle from the given memento.
-        * The given working copy owner is used only for compilation unit handles.
+        * Update the occurence count of the receiver and creates a Java element
+        * handle from the given memento. The given working copy owner is used only
+        * for compilation unit handles.
         */
-       public IJavaElement getHandleUpdatingCountFromMemento(MementoTokenizer memento, WorkingCopyOwner owner) {
+       public IJavaElement getHandleUpdatingCountFromMemento(
+                       MementoTokenizer memento, WorkingCopyOwner owner) {
                this.occurrenceCount = Integer.parseInt(memento.nextToken());
-               if (!memento.hasMoreTokens()) return this;
+               if (!memento.hasMoreTokens())
+                       return this;
                String token = memento.nextToken();
                return getHandleFromMemento(token, memento, owner);
        }
+
        /**
         * @see IJavaElement
         */
        public String getHandleIdentifier() {
                return getHandleMemento();
        }
+
        /**
         * @see JavaElement#getHandleMemento()
         */
-       public String getHandleMemento(){
-               StringBuffer buff= new StringBuffer(((JavaElement)getParent()).getHandleMemento());
+       public String getHandleMemento() {
+               StringBuffer buff = new StringBuffer(((JavaElement) getParent())
+                               .getHandleMemento());
                buff.append(getHandleMementoDelimiter());
                escapeMementoName(buff, getElementName());
                if (this.occurrenceCount > 1) {
@@ -404,16 +440,18 @@ public abstract class JavaElement extends PlatformObject
                }
                return buff.toString();
        }
+
        /**
         * Returns the <code>char</code> that marks the start of this handles
         * contribution to a memento.
         */
-       
+
        /**
         * Returns the <code>char</code> that marks the start of this handles
         * contribution to a memento.
         */
        protected abstract char getHandleMementoDelimiter();
+
        /**
         * @see IJavaElement
         */
@@ -437,18 +475,21 @@ public abstract class JavaElement extends PlatformObject
                } while ((current = current.getParent()) != null);
                return null;
        }
+
        /**
         * Returns the occurrence count of the handle.
         */
        protected int getOccurrenceCount() {
                return occurrenceCount;
        }
+
        /*
         * @see IJavaElement
         */
        public IOpenable getOpenable() {
                return this.getOpenableParent();
        }
+
        /**
         * Return the first instance of IOpenable in the parent hierarchy of this
         * element.
@@ -460,7 +501,7 @@ public abstract class JavaElement extends PlatformObject
 
                return (IOpenable) parent;
        }
-       
+
        /**
         * @see IJavaElement
         */
@@ -474,6 +515,7 @@ public abstract class JavaElement extends PlatformObject
        public IJavaElement getPrimaryElement() {
                return getPrimaryElement(true);
        }
+
        /*
         * Returns the primary element. If checkOwner, and the cu owner is primary,
         * return this element.
@@ -481,6 +523,7 @@ public abstract class JavaElement extends PlatformObject
        public IJavaElement getPrimaryElement(boolean checkOwner) {
                return this;
        }
+
        /**
         * Returns the element that is located at the given source position in this
         * element. This is a helper method for
@@ -496,13 +539,14 @@ public abstract class JavaElement extends PlatformObject
                        int i;
                        for (i = 0; i < children.length; i++) {
                                IJavaElement aChild = children[i];
-                               
+
                                if (aChild instanceof SourceRefElement) {
                                        SourceRefElement child = (SourceRefElement) children[i];
                                        ISourceRange range = child.getSourceRange();
-//                                     if (child.name.equals("stopObject")||range==null || range.getOffset()<=0) {
-//                                       System.out.println(child.name);
-//                                     }
+                                       // if (child.name.equals("stopObject")||range==null ||
+                                       // range.getOffset()<=0) {
+                                       // System.out.println(child.name);
+                                       // }
                                        if (position < range.getOffset() + range.getLength()
                                                        && position >= range.getOffset()) {
                                                if (child instanceof IParent) {
@@ -519,13 +563,14 @@ public abstract class JavaElement extends PlatformObject
                }
                return this;
        }
+
        /**
         * Returns the SourceMapper facility for this element, or <code>null</code>
         * if this element does not have a SourceMapper.
         */
-       //      public SourceMapper getSourceMapper() {
-       //              return ((JavaElement)getParent()).getSourceMapper();
-       //      }
+       // public SourceMapper getSourceMapper() {
+       // return ((JavaElement)getParent()).getSourceMapper();
+       // }
        /*
         * (non-Javadoc)
         * 
@@ -536,9 +581,11 @@ public abstract class JavaElement extends PlatformObject
                if (resource == null) {
                        class NoResourceSchedulingRule implements ISchedulingRule {
                                public IPath path;
+
                                public NoResourceSchedulingRule(IPath path) {
                                        this.path = path;
                                }
+
                                public boolean contains(ISchedulingRule rule) {
                                        if (rule instanceof NoResourceSchedulingRule) {
                                                return this.path
@@ -547,6 +594,7 @@ public abstract class JavaElement extends PlatformObject
                                                return false;
                                        }
                                }
+
                                public boolean isConflicting(ISchedulingRule rule) {
                                        if (rule instanceof NoResourceSchedulingRule) {
                                                IPath otherPath = ((NoResourceSchedulingRule) rule).path;
@@ -562,6 +610,7 @@ public abstract class JavaElement extends PlatformObject
                        return resource;
                }
        }
+
        /**
         * @see IParent
         */
@@ -589,30 +638,33 @@ public abstract class JavaElement extends PlatformObject
                return Util.combineHashCodes(this.name.hashCode(), this.parent
                                .hashCode());
        }
+
        /**
         * Returns true if this element is an ancestor of the given element,
         * otherwise false.
         */
        public boolean isAncestorOf(IJavaElement e) {
-               IJavaElement parentElement= e.getParent();
+               IJavaElement parentElement = e.getParent();
                while (parentElement != null && !parentElement.equals(this)) {
-                       parentElement= parentElement.getParent();
+                       parentElement = parentElement.getParent();
                }
                return parentElement != null;
        }
-       
+
        /**
         * @see IJavaElement
         */
        public boolean isReadOnly() {
                return false;
        }
+
        /**
         * @see IJavaElement
         */
        public boolean isStructureKnown() throws JavaModelException {
                return ((JavaElementInfo) getElementInfo()).isStructureKnown();
        }
+
        /**
         * Creates and returns and not present exception for this element.
         */
@@ -620,34 +672,36 @@ public abstract class JavaElement extends PlatformObject
                return new JavaModelException(new JavaModelStatus(
                                IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST, this));
        }
+
        /**
         * Opens this element and all parents that are not already open.
         * 
         * @exception JavaModelException
         *                this element is not present or accessible
         */
-       //      protected void openHierarchy() throws JavaModelException {
-       //              if (this instanceof IOpenable) {
-       //                      ((Openable) this).openWhenClosed(null);
-       //              } else {
-       //                      Openable openableParent = (Openable)getOpenableParent();
-       //                      if (openableParent != null) {
-       //                              JavaElementInfo openableParentInfo = (JavaElementInfo)
+       // protected void openHierarchy() throws JavaModelException {
+       // if (this instanceof IOpenable) {
+       // ((Openable) this).openWhenClosed(null);
+       // } else {
+       // Openable openableParent = (Openable)getOpenableParent();
+       // if (openableParent != null) {
+       // JavaElementInfo openableParentInfo = (JavaElementInfo)
        // JavaModelManager.getJavaModelManager().getInfo((IJavaElement)
        // openableParent);
-       //                              if (openableParentInfo == null) {
-       //                                      openableParent.openWhenClosed(null);
-       //                              } else {
-       //                                      throw newNotPresentException();
-       //                              }
-       //                      }
-       //              }
-       //      }
+       // if (openableParentInfo == null) {
+       // openableParent.openWhenClosed(null);
+       // } else {
+       // throw newNotPresentException();
+       // }
+       // }
+       // }
+       // }
        /**
         * This element has just been opened. Do any necessary setup.
         */
        protected void opening(Object info) {
        }
+
        /*
         * Opens an <code> Openable </code> that is known to be closed (no check for
         * <code> isOpen() </code> ). Returns the created element info.
@@ -683,32 +737,34 @@ public abstract class JavaElement extends PlatformObject
                }
                return info;
        }
+
        /**
         */
        public String readableName() {
                return this.getElementName();
        }
+
        /**
         * Removes all cached info from the Java Model, including all children, but
         * does not close this element.
         */
-       //      protected void removeInfo() {
-       //              Object info = JavaModelManager.getJavaModelManager().peekAtInfo(this);
-       //              if (info != null) {
-       //                      if (this instanceof IParent) {
-       //                              IJavaElement[] children = ((JavaElementInfo)info).getChildren();
-       //                              for (int i = 0, size = children.length; i < size; ++i) {
-       //                                      JavaElement child = (JavaElement) children[i];
-       //                                      child.removeInfo();
-       //                              }
-       //                      }
-       //                      JavaModelManager.getJavaModelManager().removeInfo(this);
-       //              }
-       //      }
-       //      /**
-       //       * Returns a copy of this element rooted at the given project.
-       //       */
-       //      public abstract IJavaElement rootedAt(IJavaProject project);
+       // protected void removeInfo() {
+       // Object info = JavaModelManager.getJavaModelManager().peekAtInfo(this);
+       // if (info != null) {
+       // if (this instanceof IParent) {
+       // IJavaElement[] children = ((JavaElementInfo)info).getChildren();
+       // for (int i = 0, size = children.length; i < size; ++i) {
+       // JavaElement child = (JavaElement) children[i];
+       // child.removeInfo();
+       // }
+       // }
+       // JavaModelManager.getJavaModelManager().removeInfo(this);
+       // }
+       // }
+       // /**
+       // * Returns a copy of this element rooted at the given project.
+       // */
+       // public abstract IJavaElement rootedAt(IJavaProject project);
        /**
         * Runs a Java Model Operation
         */
@@ -737,18 +793,21 @@ public abstract class JavaElement extends PlatformObject
                        }
                }
        }
+
        /**
         * Sets the occurrence count of the handle.
         */
        protected void setOccurrenceCount(int count) {
                occurrenceCount = count;
        }
+
        protected String tabString(int tab) {
                StringBuffer buffer = new StringBuffer();
                for (int i = tab; i > 0; i--)
                        buffer.append("  "); //$NON-NLS-1$
                return buffer.toString();
        }
+
        /**
         * Debugging purposes
         */
@@ -757,6 +816,7 @@ public abstract class JavaElement extends PlatformObject
                this.toStringInfo(0, buffer, NO_INFO);
                return buffer.toString();
        }
+
        /**
         * Debugging purposes
         */
@@ -765,8 +825,9 @@ public abstract class JavaElement extends PlatformObject
                toString(0, buffer);
                return buffer.toString();
        }
+
        /**
-        *  Debugging purposes
+        * Debugging purposes
         */
        protected void toStringName(StringBuffer buffer) {
                buffer.append(getElementName());
@@ -775,17 +836,19 @@ public abstract class JavaElement extends PlatformObject
                        buffer.append(this.occurrenceCount);
                }
        }
+
        /**
         * Debugging purposes
         */
        protected void toString(int tab, StringBuffer buffer) {
-               //      Object info = this.toStringInfo(tab, buffer);
+               // Object info = this.toStringInfo(tab, buffer);
                Object info = null;
                if (tab == 0) {
                        this.toStringAncestors(buffer);
                }
                this.toStringChildren(tab, buffer, info);
        }
+
        /**
         * Debugging purposes
         */
@@ -795,6 +858,7 @@ public abstract class JavaElement extends PlatformObject
                this.toStringAncestors(buffer);
                return buffer.toString();
        }
+
        /**
         * Debugging purposes
         */
@@ -807,6 +871,7 @@ public abstract class JavaElement extends PlatformObject
                        buffer.append("]"); //$NON-NLS-1$
                }
        }
+
        /**
         * Debugging purposes
         */
@@ -819,14 +884,15 @@ public abstract class JavaElement extends PlatformObject
                        ((JavaElement) children[i]).toString(tab + 1, buffer);
                }
        }
+
        /**
         * Debugging purposes
         */
-       //      public Object toStringInfo(int tab, StringBuffer buffer) {
-       //              Object info = JavaModelManager.getJavaModelManager().peekAtInfo(this);
-       //              this.toStringInfo(tab, buffer, info);
-       //              return info;
-       //      }
+       // public Object toStringInfo(int tab, StringBuffer buffer) {
+       // Object info = JavaModelManager.getJavaModelManager().peekAtInfo(this);
+       // this.toStringInfo(tab, buffer, info);
+       // return info;
+       // }
        /**
         * Debugging purposes
         */