Eclipse Platform
Release 3.1

org.eclipse.team.core.synchronize
Class SyncInfoTree

java.lang.Object
  extended byorg.eclipse.team.core.synchronize.SyncInfoSet
      extended byorg.eclipse.team.core.synchronize.SyncInfoTree

public class SyncInfoTree
extends SyncInfoSet

Provides addition API for accessing the SyncInfo in the set through their resource's hierarchical relationships.

Events fired from a SyncInfoTree will be instances of ISyncInfoTreeChangeEvent.

Since:
3.0
See Also:
SyncInfoSet

Field Summary
protected  Map parents
           
 
Constructor Summary
SyncInfoTree()
          Create an empty sync info tree.
SyncInfoTree(SyncInfo[] infos)
          Create a sync info tree containing the given sync info elements.
 
Method Summary
 void add(SyncInfo info)
          Add the given SyncInfo to the set.
 void clear()
          Reset the sync set so it is empty.
protected  org.eclipse.team.internal.core.subscribers.SyncSetChangedEvent createEmptyChangeEvent()
          Overrides inherited method to provide an instance of ISyncInfoTreeChangeEvent.
 SyncInfo[] getSyncInfos(IResource resource, int depth)
          Return the SyncInfo for each out-of-sync resource in the subtree rooted at the given resource to the depth specified.
 boolean hasMembers(IResource resource)
          Return whether the given resource has any children in the sync set.
protected  IResource[] internalGetOutOfSyncDescendants(IContainer resource)
          This is an internal method and is not intended to be invoked or overridden by clients.
 IResource[] members(IResource resource)
          Return the immediate children of the given resource who are either out-of-sync or contain out-of-sync resources.
 void remove(IResource resource)
          Remove the given local resource from the set.
 void remove(IResource resource, int depth)
          Remove from this set the SyncInfo for the given resource and any of its descendants within the specified depth.
 
Methods inherited from class org.eclipse.team.core.synchronize.SyncInfoSet
addAll, addError, addSyncSetChangedListener, beginInput, connect, countFor, endInput, getChangeEvent, getErrors, getListeners, getNodes, getResources, getSyncInfo, getSyncInfos, hasConflicts, hasIncomingChanges, hasNodes, hasOutgoingChanges, internalAdd, internalRemove, isEmpty, iterator, rejectNodes, removeAll, removeConflictingNodes, removeIncomingNodes, removeOutgoingNodes, removeSyncSetChangedListener, resetChanges, selectNodes, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parents

protected Map parents
Constructor Detail

SyncInfoTree

public SyncInfoTree()
Create an empty sync info tree.


SyncInfoTree

public SyncInfoTree(SyncInfo[] infos)
Create a sync info tree containing the given sync info elements.

Parameters:
infos - the sync info elements
Method Detail

hasMembers

public boolean hasMembers(IResource resource)
Return whether the given resource has any children in the sync set. The children could be either out-of-sync resources that are contained by the set or containers that are ancestors of out-of-sync resources contained by the set.

Parameters:
resource - the resource to check for children.
Returns:
true if the resource has children in the set.

getSyncInfos

public SyncInfo[] getSyncInfos(IResource resource,
                               int depth)
Return the SyncInfo for each out-of-sync resource in the subtree rooted at the given resource to the depth specified. The depth is one of:

createEmptyChangeEvent

protected org.eclipse.team.internal.core.subscribers.SyncSetChangedEvent createEmptyChangeEvent()
Overrides inherited method to provide an instance of ISyncInfoTreeChangeEvent.

Overrides:
createEmptyChangeEvent in class SyncInfoSet
Returns:
an empty change event

add

public void add(SyncInfo info)
Description copied from class: SyncInfoSet
Add the given SyncInfo to the set. A change event will be generated unless the call to this method is nested in between calls to beginInput() and endInput(IProgressMonitor) in which case the event for this addition and any other sync set change will be fired in a batched event when endInput is invoked.

Invoking this method outside of the above mentioned block will result in the endInput(IProgressMonitor) being invoked with a null progress monitor. If responsiveness is required, the client should always nest sync set modifications within beginInput/endInput.

Overrides:
add in class SyncInfoSet
Parameters:
info - the sync info to be added to this set.

remove

public void remove(IResource resource)
Description copied from class: SyncInfoSet
Remove the given local resource from the set.

Overrides:
remove in class SyncInfoSet
Parameters:
resource - the local resource to remove

clear

public void clear()
Description copied from class: SyncInfoSet
Reset the sync set so it is empty. Listeners are notified of the change.

Overrides:
clear in class SyncInfoSet

remove

public void remove(IResource resource,
                   int depth)
Remove from this set the SyncInfo for the given resource and any of its descendants within the specified depth. The depth is one of:

internalGetOutOfSyncDescendants

protected IResource[] internalGetOutOfSyncDescendants(IContainer resource)
This is an internal method and is not intended to be invoked or overridden by clients.


members

public IResource[] members(IResource resource)
Return the immediate children of the given resource who are either out-of-sync or contain out-of-sync resources.

Parameters:
resource - the parent resource
Returns:
the children of the resource that are either out-of-sync or are ancestors of out-of-sync resources contained in the set

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

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