Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.team.core.synchronize
Class SyncInfoTree

    java.lang.Object
      org.eclipse.team.core.synchronize.SyncInfoSet
          org.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 wether 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 overriden 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, 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 wether 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:
  - `IResource.DEPTH_ZERO`: the resource only,
  - `IResource.DEPTH_ONE`: the resource or its direct children,
  - `IResource.DEPTH_INFINITE`: the resource and all of it's descendants.
    If the given resource is out of sync, it will be included in the result.

    The default implementation makes use of `getSyncInfo(IResource)`, `members(IResource)` and `getSyncInfos()` to provide the varying depths. Subclasses may override to optimize.

  Parameters:
    `resource` - the root of the resource subtree
    `depth` - the depth of the subtree
  Returns:
    the `SyncInfo` for any out-of-sync resources

### 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:
  - `IResource.DEPTH_ZERO`: the resource only,
  - `IResource.DEPTH_ONE`: the resource or its direct children,
  - `IResource.DEPTH_INFINITE`: the resource and all of it's descendants.

  Parameters:
    `resource` - the root of the resource subtree
    `depth` - the depth of the subtree

### internalGetOutOfSyncDescendants

    protected IResource[] internalGetOutOfSyncDescendants(IContainer resource)

  This is an internal method and is not intended to be invoked or overriden 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

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