import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
/**
* Common protocol for all elements provided by the Java model.
* @return <code>true</code> if this element exists in the Java model, and
* <code>false</code> if this element does not exist
*/
-// boolean exists();
+ boolean exists();
/**
* Returns the first ancestor of this Java element that has the given type.
* @exception JavaModelException if this element does not exist or if an
* exception occurs while accessing its corresponding resource
*/
-// IResource getCorrespondingResource() throws JavaModelException;
+ IResource getCorrespondingResource() throws JavaModelException;
/**
* Returns the name of this element. This is a handle-only method.
* @return the containing Java project, or <code>null</code> if this element is
* not contained in a Java project
*/
-// IJavaProject getJavaProject();
+ IJavaProject getJavaProject();
/**
* Returns the first openable parent. If this element is openable, the element
* @return the path to the innermost resource enclosing this element
* @since 2.0
*/
-// IPath getPath();
-
+ IPath getPath();
+ /**
+ * Returns the primary element (whose compilation unit is the primary compilation unit)
+ * this working copy element was created from, or this element if it is a descendant of a
+ * primary compilation unit or if it is not a descendant of a working copy (e.g. it is a
+ * binary member).
+ * The returned element may or may not exist.
+ *
+ * @return the primary element this working copy element was created from, or this
+ * element.
+ * @since 3.0
+ */
+ IJavaElement getPrimaryElement();
/**
* Returns the innermost resource enclosing this element.
* If this element is included in an archive and this archive is not external,
* @since 2.0
*/
IResource getResource();
-
+ /**
+ * Returns the scheduling rule associated with this Java element.
+ * This is a handle-only method.
+ *
+ * @return the scheduling rule associated with this Java element
+ * @since 3.0
+ */
+ ISchedulingRule getSchedulingRule();
/**
* Returns the smallest underlying resource that contains
* this element, or <code>null</code> if this element is not contained
* @exception JavaModelException if this element does not exist or if an
* exception occurs while accessing its corresponding resource
*/
-// boolean isStructureKnown() throws JavaModelException;
+ boolean isStructureKnown() throws JavaModelException;
}