Eclipse Platform
Release 3.3

org.eclipse.team.core.mapping
Interface IResourceDiffTree

All Superinterfaces:
IDiffTree
All Known Implementing Classes:
ResourceDiffTree

public interface IResourceDiffTree
extends IDiffTree

A resource diff tree provides access to a tree of IDiff instances that either contain IResourceDiff nodes or IThreeWayDiff nodes that contain IResourceDiff nodes as the local and remote changes. For efficiency reasons, the tree only provides diffs for resources that have changes. Resources that do not contain a change but are returned from the tree will contain children in the set.

Clients may not implement this interface but can use ResourceDiffTree instead.

Since:
3.2

Field Summary
 
Fields inherited from interface org.eclipse.team.core.diff.IDiffTree
P_BUSY_HINT, P_HAS_DESCENDANT_CONFLICTS
 
Method Summary
 void accept(ResourceTraversal[] traversals, IDiffVisitor visitor)
          Visit all diffs in this tree that are covered by the given traversals.
 IResource[] getAffectedResources()
          Return all resources that contain diffs in this diff tree.
 IDiff getDiff(IResource resource)
          Return the diff for the given resource.
 IDiff[] getDiffs(IResource resource, int depth)
          Return all the diffs in the tree that are found for the given resource when traversed to the given depth.
 IDiff[] getDiffs(ResourceTraversal[] traversals)
          Return all the diffs in the tree that are contained in the given traversals.
 IResource getResource(IDiff diff)
          Return the resource associated with the given diff.
 boolean hasMatchingDiffs(ResourceTraversal[] traversals, FastDiffFilter filter)
          Return whether the this diff tree contains any diffs that match the given filter within the given traversals.
 IResource[] members(IResource resource)
          Return the members of the given resource that either have diffs in this tree of contain descendants that have diffs in this tree.
 
Methods inherited from interface org.eclipse.team.core.diff.IDiffTree
accept, addDiffChangeListener, clearBusy, countFor, getChildren, getDiff, getProperty, hasMatchingDiffs, isEmpty, removeDiffChangeListener, setBusy, size
 

Method Detail

getDiff

public IDiff getDiff(IResource resource)
Return the diff for the given resource. This method is a convenience method that uses the path of the resource to access the diff.

Parameters:
resource - a resource
Returns:
the diff associated with the resource or null if the resource does not have any changes.

getResource

public IResource getResource(IDiff diff)
Return the resource associated with the given diff. This method will only return meaningful results for diffs which were obtained from this tree.

Parameters:
diff - a diff
Returns:
the resource associated with the given diff

accept

public void accept(ResourceTraversal[] traversals,
                   IDiffVisitor visitor)
Visit all diffs in this tree that are covered by the given traversals.

Parameters:
traversals - the set of traversals whose diffs are to be visited
visitor - a diff visitor

getDiffs

public IDiff[] getDiffs(ResourceTraversal[] traversals)
Return all the diffs in the tree that are contained in the given traversals.

Parameters:
traversals - the traversals
Returns:
all the diffs in the tree that are contained in the given traversals

getDiffs

public IDiff[] getDiffs(IResource resource,
                        int depth)
Return all the diffs in the tree that are found for the given resource when traversed to the given depth.

Parameters:
resource - the resource
depth - the depth
Returns:
all the diffs in the tree that are found for the given resource when traversed to the given depth

members

public IResource[] members(IResource resource)
Return the members of the given resource that either have diffs in this tree of contain descendants that have diffs in this tree.

Parameters:
resource - a resource
Returns:
the members of the given resource that either have diffs in this tree of contain descendants that have diffs in this tree

getAffectedResources

public IResource[] getAffectedResources()
Return all resources that contain diffs in this diff tree.

Returns:
all resources that contain diffs in this diff tree

hasMatchingDiffs

public boolean hasMatchingDiffs(ResourceTraversal[] traversals,
                                FastDiffFilter filter)
Return whether the this diff tree contains any diffs that match the given filter within the given traversals.

Parameters:
traversals - the traversals
filter - the diff node filter
Returns:
whether the given diff tree contains any deltas that match the given filter

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.