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.
int IMPORT_DECLARATION = 13;
/**
+ * Constant representing a local variable declaration.
+ * A Java element with this type can be safely cast to <code>ILocalVariable</code>.
+ * @since 3.0
+ */
+ int LOCAL_VARIABLE = 14;
+ /**
* Returns whether this Java element exists in the model.
* <p>
* Java elements are handle objects that may or may not be backed by an
*
* @return the Java model
*/
- // IJavaModel getJavaModel();
+ IJavaModel getJavaModel();
/**
* Returns the Java project this element is contained in,
* @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
* @since 2.0
*/
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