|
|||||||||
| Home >> All >> org >> eclipse >> jdt >> [ core overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.eclipse.jdt.core
Interface IJavaElementDelta

- public interface IJavaElementDelta
A Java element delta describes changes in Java element between two discrete points in time. Given a delta, clients can access the element that has changed, and any children that have changed.
Deltas have a different status depending on the kind of change they represent.
The list below summarizes each status (as returned by getKind)
and its meaning (see individual constants for a more detailled description):
ADDED- The element described by the delta has been added.REMOVED- The element described by the delta has been removed.CHANGED- The element described by the delta has been changed in some way. Specification of the type of change is provided bygetFlagswhich returns the following values:F_ADDED_TO_CLASSPATH- A classpath entry corresponding to the element has been added to the project's classpath. This flag is only valid if the element is anIPackageFragmentRoot.F_ARCHIVE_CONTENT_CHANGED- The contents of an archive has changed in some way. This flag is only valid if the element is anIPackageFragmentRootwhich is an archive.F_CHILDREN- A child of the element has changed in some way. This flag is only valid if the element is anIParent.F_CLASSPATH_REORDER- A classpath entry corresponding to the element has changed position in the project's classpath. This flag is only valid if the element is anIPackageFragmentRoot.F_CLOSED- The underlyingIProjecthas been closed. This flag is only valid if the element is anIJavaProject.F_CONTENT- The contents of the element have been altered. This flag is only valid for elements which correspond to files.F_FINE_GRAINED- The delta is a fine-grained delta, that is, an analysis down to the members level was done to determine if there were structural changes to members of the element.F_MODIFIERS- The modifiers on the element have changed in some way. This flag is only valid if the element is anIMember.F_OPENED- The underlyingIProjecthas been opened. This flag is only valid if the element is anIJavaProject.F_REMOVED_FROM_CLASSPATH- A classpath entry corresponding to the element has been removed from the project's classpath. This flag is only valid if the element is anIPackageFragmentRoot.F_SOURCEATTACHED- The source attachment path or the source attachment root path of a classpath entry corresponding to the element was added. This flag is only valid if the element is anIPackageFragmentRoot.F_SOURCEDETACHED- The source attachment path or the source attachment root path of a classpath entry corresponding to the element was removed. This flag is only valid if the element is anIPackageFragmentRoot.F_SUPER_TYPES- One of the supertypes of anITypehas changed .
Move operations are indicated by other change flags, layered on top
of the change flags described above. If element A is moved to become B,
the delta for the change in A will have status REMOVED,
with change flag F_MOVED_TO. In this case,
getMovedToElement on delta A will return the handle for B.
The delta for B will have status ADDED, with change flag
F_MOVED_FROM, and getMovedFromElement on delta
B will return the handle for A. (Note, the handle to A in this case represents
an element that no longer exists).
Note that the move change flags only describe the changes to a single element, they do not imply anything about the parent or children of the element.
The F_ADDED_TO_CLASSPATH, F_REMOVED_FROM_CLASSPATH and
F_CLASSPATH_REORDER flags are triggered by changes to a project's classpath. They do not mean that
the underlying resource was added, removed or changed. For example, if a project P already contains a folder src, then
adding a classpath entry with the 'P/src' path to the project's classpath will result in an IJavaElementDelta
with the F_ADDED_TO_CLASSPATH flag for the IPackageFragmentRoot P/src.
On the contrary, if a resource is physically added, removed or changed and this resource corresponds to a classpath
entry of the project, then an IJavaElementDelta with the ADDED,
REMOVED, or CHANGED kind will be fired.
Note that when a source attachment path or a source attachment root path is changed, then the flags of the delta contain
both F_SOURCEATTACHED and F_SOURCEDETTACHED.
No assumptions should be made on whether the java element delta tree is rooted at the IJavaModel
level or not.
IJavaElementDelta object are not valid outside the dynamic scope
of the notification.
This interface is not intended to be implemented by clients.
| Field Summary | |
static int |
ADDED
Status constant indicating that the element has been added. |
static int |
CHANGED
Status constant indicating that the element has been changed, as described by the change flags. |
static int |
F_ADDED_TO_CLASSPATH
Change flag indicating that a classpath entry corresponding to the element has been added to the project's classpath. |
static int |
F_ARCHIVE_CONTENT_CHANGED
Change flag indicating that the element's archive content on the classpath has changed. |
static int |
F_CHILDREN
Change flag indicating that there are changes to the children of the element. |
static int |
F_CLASSPATH_CHANGED
Change flag indicating that the raw classpath (or the output folder) of a project has changed. |
static int |
F_CLASSPATH_REORDER
Deprecated. Use F_REORDER instead. |
static int |
F_CLOSED
Change flag indicating that the underlying IProject has been
closed. |
static int |
F_CONTENT
Change flag indicating that the content of the element has changed. |
static int |
F_FINE_GRAINED
Change flag indicating that this is a fine-grained delta, that is, an analysis down to the members level was done to determine if there were structural changes to members. |
static int |
F_MODIFIERS
Change flag indicating that the modifiers of the element have changed. |
static int |
F_MOVED_FROM
Change flag indicating that the element was moved from another location. |
static int |
F_MOVED_TO
Change flag indicating that the element was moved to another location. |
static int |
F_OPENED
Change flag indicating that the underlying IProject has been
opened. |
static int |
F_PRIMARY_RESOURCE
Change flag indicating that the resource of a primary compilation unit has changed. |
static int |
F_PRIMARY_WORKING_COPY
Change flag indicating that a compilation unit has become a primary working copy, or that a primary working copy has reverted to a compilation unit. |
static int |
F_REMOVED_FROM_CLASSPATH
Change flag indicating that a classpath entry corresponding to the element has been removed from the project's classpath. |
static int |
F_REORDER
Change flag indicating that the element has changed position relatively to its siblings. |
static int |
F_SOURCEATTACHED
Change flag indicating that the source attachment path or the source attachment root path of a classpath entry corresponding to the element was added. |
static int |
F_SOURCEDETACHED
Change flag indicating that the source attachment path or the source attachment root path of a classpath entry corresponding to the element was removed. |
static int |
F_SUPER_TYPES
Change flag indicating that one of the supertypes of an IType
has changed. |
static int |
REMOVED
Status constant indicating that the element has been removed. |
| Method Summary | |
IJavaElementDelta[] |
getAddedChildren()
Returns deltas for the children that have been added. |
IJavaElementDelta[] |
getAffectedChildren()
Returns deltas for the affected (added, removed, or changed) children. |
IJavaElementDelta[] |
getChangedChildren()
Returns deltas for the children which have changed. |
IJavaElement |
getElement()
Returns the element that this delta describes a change to. |
int |
getFlags()
Returns flags that describe how an element has changed. |
int |
getKind()
Returns the kind of this delta - one of ADDED, REMOVED,
or CHANGED. |
IJavaElement |
getMovedFromElement()
Returns an element describing this element before it was moved to its current location, or null if the
F_MOVED_FROM change flag is not set. |
IJavaElement |
getMovedToElement()
Returns an element describing this element in its new location, or null if the F_MOVED_TO change
flag is not set. |
IJavaElementDelta[] |
getRemovedChildren()
Returns deltas for the children which have been removed. |
org.eclipse.core.resources.IResourceDelta[] |
getResourceDeltas()
Returns the collection of resource deltas. |
| Field Detail |
ADDED
public static final int ADDED
- Status constant indicating that the element has been added.
Note that an added java element delta has no children, as they are all implicitely added.
- See Also:
- Constant Field Values
REMOVED
public static final int REMOVED
- Status constant indicating that the element has been removed.
Note that a removed java element delta has no children, as they are all implicitely removed.
- See Also:
- Constant Field Values
CHANGED
public static final int CHANGED
- Status constant indicating that the element has been changed,
as described by the change flags.
- See Also:
getFlags()55 , Constant Field Values
F_CONTENT
public static final int F_CONTENT
- Change flag indicating that the content of the element has changed.
This flag is only valid for elements which correspond to files.
- See Also:
- Constant Field Values
F_MODIFIERS
public static final int F_MODIFIERS
- Change flag indicating that the modifiers of the element have changed.
This flag is only valid if the element is an
IMember.- See Also:
- Constant Field Values
F_CHILDREN
public static final int F_CHILDREN
- Change flag indicating that there are changes to the children of the element.
This flag is only valid if the element is an
IParent.- See Also:
- Constant Field Values
F_MOVED_FROM
public static final int F_MOVED_FROM
- Change flag indicating that the element was moved from another location.
The location of the old element can be retrieved using
getMovedFromElement.- See Also:
- Constant Field Values
F_MOVED_TO
public static final int F_MOVED_TO
- Change flag indicating that the element was moved to another location.
The location of the new element can be retrieved using
getMovedToElement.- See Also:
- Constant Field Values
F_ADDED_TO_CLASSPATH
public static final int F_ADDED_TO_CLASSPATH
- Change flag indicating that a classpath entry corresponding to the element has been added to the project's classpath.
This flag is only valid if the element is an
IPackageFragmentRoot.- See Also:
- Constant Field Values
F_REMOVED_FROM_CLASSPATH
public static final int F_REMOVED_FROM_CLASSPATH
- Change flag indicating that a classpath entry corresponding to the element has been removed from the project's
classpath. This flag is only valid if the element is an
IPackageFragmentRoot.- See Also:
- Constant Field Values
F_CLASSPATH_REORDER
public static final int F_CLASSPATH_REORDER
- Deprecated. Use F_REORDER instead.
- Change flag indicating that a classpath entry corresponding to the element has changed position in the project's classpath. This flag is only valid if the element is an
IPackageFragmentRoot.- See Also:
- Constant Field Values
- Change flag indicating that a classpath entry corresponding to the element has changed position in the project's classpath. This flag is only valid if the element is an
F_REORDER
public static final int F_REORDER
- Change flag indicating that the element has changed position relatively to its siblings.
If the element is an
IPackageFragmentRoot, a classpath entry corresponding to the element has changed position in the project's classpath.- Since:
- 2.1
- See Also:
- Constant Field Values
F_OPENED
public static final int F_OPENED
- Change flag indicating that the underlying
IProjecthas been opened. This flag is only valid if the element is anIJavaProject.- See Also:
- Constant Field Values
F_CLOSED
public static final int F_CLOSED
- Change flag indicating that the underlying
IProjecthas been closed. This flag is only valid if the element is anIJavaProject.- See Also:
- Constant Field Values
F_SUPER_TYPES
public static final int F_SUPER_TYPES
- Change flag indicating that one of the supertypes of an
ITypehas changed.- See Also:
- Constant Field Values
F_SOURCEATTACHED
public static final int F_SOURCEATTACHED
- Change flag indicating that the source attachment path or the source attachment root path of a classpath entry
corresponding to the element was added. This flag is only valid if the element is an
IPackageFragmentRoot.- See Also:
- Constant Field Values
F_SOURCEDETACHED
public static final int F_SOURCEDETACHED
- Change flag indicating that the source attachment path or the source attachment root path of a classpath entry
corresponding to the element was removed. This flag is only valid if the element is an
IPackageFragmentRoot.- See Also:
- Constant Field Values
F_FINE_GRAINED
public static final int F_FINE_GRAINED
- Change flag indicating that this is a fine-grained delta, that is, an analysis down
to the members level was done to determine if there were structural changes to
members.
Clients can use this flag to find out if a compilation unit that have a
F_CONTENTchange should assume that there are no finer grained changes (F_FINE_GRAINEDis set) or if finer grained changes were not considered (F_FINE_GRAINEDis not set).- Since:
- 2.0
- See Also:
- Constant Field Values
F_ARCHIVE_CONTENT_CHANGED
public static final int F_ARCHIVE_CONTENT_CHANGED
- Change flag indicating that the element's archive content on the classpath has changed.
This flag is only valid if the element is an
IPackageFragmentRootwhich is an archive.- Since:
- 2.0
- See Also:
IPackageFragmentRoot.isArchive()55 , Constant Field Values
F_PRIMARY_WORKING_COPY
public static final int F_PRIMARY_WORKING_COPY
- Change flag indicating that a compilation unit has become a primary working copy, or that a
primary working copy has reverted to a compilation unit.
This flag is only valid if the element is an
ICompilationUnit.- Since:
- 3.0
- See Also:
- Constant Field Values
F_CLASSPATH_CHANGED
public static final int F_CLASSPATH_CHANGED
- Change flag indicating that the raw classpath (or the output folder) of a project has changed.
This flag is only valid if the element is an
IJavaProject.- Since:
- 3.0
- See Also:
- Constant Field Values
F_PRIMARY_RESOURCE
public static final int F_PRIMARY_RESOURCE
- Change flag indicating that the resource of a primary compilation unit has changed.
This flag is only valid if the element is a primary
ICompilationUnit.- Since:
- 3.0
- See Also:
- Constant Field Values
| Method Detail |
getAddedChildren
public IJavaElementDelta[] getAddedChildren()
- Returns deltas for the children that have been added.
getAffectedChildren
public IJavaElementDelta[] getAffectedChildren()
- Returns deltas for the affected (added, removed, or changed) children.
getChangedChildren
public IJavaElementDelta[] getChangedChildren()
- Returns deltas for the children which have changed.
getElement
public IJavaElement getElement()
- Returns the element that this delta describes a change to.
getFlags
public int getFlags()
- Returns flags that describe how an element has changed.
Such flags should be tested using the
&operand. For example:if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) != 0) { // the delta indicates a content change }
getKind
public int getKind()
- Returns the kind of this delta - one of
ADDED,REMOVED, orCHANGED.
getMovedFromElement
public IJavaElement getMovedFromElement()
- Returns an element describing this element before it was moved
to its current location, or
nullif theF_MOVED_FROMchange flag is not set.
getMovedToElement
public IJavaElement getMovedToElement()
- Returns an element describing this element in its new location,
or
nullif theF_MOVED_TOchange flag is not set.
getRemovedChildren
public IJavaElementDelta[] getRemovedChildren()
- Returns deltas for the children which have been removed.
getResourceDeltas
public org.eclipse.core.resources.IResourceDelta[] getResourceDeltas()
- Returns the collection of resource deltas.
Note that resource deltas, like Java element deltas, are generally only valid for the dynamic scope of an event notification. Clients must not hang on to these objects.
|
|||||||||
| Home >> All >> org >> eclipse >> jdt >> [ core overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC