Copyright (c) 2000, 2008 IBM Corporation and others.
This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/
SPDX-License-Identifier: EPL-2.0
Contributors:
IBM Corporation - initial API and implementation
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.team.core.mapping;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.mapping.ResourceTraversal;
import org.eclipse.team.core.diff.FastDiffFilter;
import org.eclipse.team.core.diff.IDiff;
import org.eclipse.team.core.diff.IDiffTree;
import org.eclipse.team.core.diff.IDiffVisitor;
import org.eclipse.team.core.diff.IThreeWayDiff;
import org.eclipse.team.core.mapping.provider.ResourceDiffTree;
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. Since: 3.2 @noimplement This interface is not intended to be implemented by clients. Clients can use ResourceDiffTree
instead.
/**
* A resource diff tree provides access to a tree of {@link IDiff} instances
* that either contain {@link IResourceDiff} nodes or {@link IThreeWayDiff}
* nodes that contain {@link 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.
*
* @since 3.2
* @noimplement This interface is not intended to be implemented by clients.
* Clients can use {@link ResourceDiffTree} instead.
*/
public interface IResourceDiffTree extends IDiffTree {
Return the diff for the given resource. This method is a convenience
method that uses the path of the resource to access the diff.
Params: - resource – a resource
Returns: the diff associated with the resource or null
if
the resource does not have any changes.
/**
* Return the diff for the given resource. This method is a convenience
* method that uses the path of the resource to access the diff.
*
* @param resource a resource
* @return the diff associated with the resource or <code>null</code> if
* the resource does not have any changes.
*/
IDiff getDiff(IResource resource);
Return the resource associated with the given diff. This method will only
return meaningful results for diffs which were obtained from this tree.
Params: - diff – a diff
Returns: the resource associated with the given diff
/**
* Return the resource associated with the given diff. This method will only
* return meaningful results for diffs which were obtained from this tree.
*
* @param diff a diff
* @return the resource associated with the given diff
*/
IResource getResource(IDiff diff);
Visit all diffs in this tree that are covered by the given traversals.
Params: - traversals – the set of traversals whose diffs are to be visited
- visitor – a diff visitor
/**
* Visit all diffs in this tree that are covered by the given traversals.
* @param traversals the set of traversals whose diffs are to be visited
* @param visitor a diff visitor
*
*/
void accept(ResourceTraversal[] traversals, IDiffVisitor visitor);
Return all the diffs in the tree that are contained in the given
traversals.
Params: - traversals – the traversals
Returns: all the diffs in the tree that are contained in the given
traversals
/**
* Return all the diffs in the tree that are contained in the given
* traversals.
*
* @param traversals the traversals
* @return all the diffs in the tree that are contained in the given
* traversals
*/
IDiff[] getDiffs(ResourceTraversal[] traversals);
Return all the diffs in the tree that are found for
the given resource when traversed to the given depth.
Params: - 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
/**
* Return all the diffs in the tree that are found for
* the given resource when traversed to the given depth.
*
* @param resource the resource
* @param depth the depth
* @return all the diffs in the tree that are found for
* the given resource when traversed to the given depth
*/
IDiff[] getDiffs(IResource resource, int depth);
Return the members of the given resource that either have diffs in this
tree of contain descendants that have diffs in this tree.
Params: - 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
/**
* Return the members of the given resource that either have diffs in this
* tree of contain descendants that have diffs in this tree.
*
* @param resource a resource
* @return the members of the given resource that either have diffs in this
* tree of contain descendants that have diffs in this tree
*/
IResource[] members(IResource resource);
Return all resources that contain diffs in this
diff tree.
Returns: all resources that contain diffs in this
diff tree
/**
* Return all resources that contain diffs in this
* diff tree.
* @return all resources that contain diffs in this
* diff tree
*/
IResource[] getAffectedResources();
Return whether the this diff tree contains any diffs that match the given filter
within the given traversals.
Params: - traversals – the traversals
- filter – the diff node filter
Returns: whether the given diff tree contains any deltas that match the given filter
/**
* Return whether the this diff tree contains any diffs that match the given filter
* within the given traversals.
* @param traversals the traversals
* @param filter the diff node filter
* @return whether the given diff tree contains any deltas that match the given filter
*/
public boolean hasMatchingDiffs(ResourceTraversal[] traversals, final FastDiffFilter filter);
}