Eclipse Platform
Release 3.1

org.eclipse.team.core.variants
Class ResourceVariantTreeSubscriber

java.lang.Object
  extended byorg.eclipse.team.core.subscribers.Subscriber
      extended byorg.eclipse.team.core.variants.ResourceVariantTreeSubscriber
Direct Known Subclasses:
ThreeWaySubscriber

public abstract class ResourceVariantTreeSubscriber
extends Subscriber

A specialization of Subscriber that uses IResourceVariantTree objects to manage the base (for three-way) and remote trees. Refreshing and obtaining the subscriber members and resource variants is delegated to the resource variant trees.

Since:
3.0

Constructor Summary
ResourceVariantTreeSubscriber()
           
 
Method Summary
protected abstract  IResourceVariantTree getBaseTree()
          Return the base resource variant tree.
protected abstract  IResourceVariantTree getRemoteTree()
          Return the remote resource variant tree.
 SyncInfo getSyncInfo(IResource resource)
          Returns synchronization info for the given resource, or null if there is no synchronization info because the subscriber does not apply to this resource.
protected  SyncInfo getSyncInfo(IResource local, IResourceVariant base, IResourceVariant remote)
          Method that creates an instance of SyncInfo for the provided local, base and remote resource variants.
 IResource[] members(IResource resource)
          Returns all non-transient member resources of the given resource.
 void refresh(IResource[] resources, int depth, IProgressMonitor monitor)
          Refreshes the resource hierarchy from the given resources and their children (to the specified depth) from the corresponding resources in the remote location.
 
Methods inherited from class org.eclipse.team.core.subscribers.Subscriber
addListener, collectOutOfSync, fireTeamResourceChange, getName, getResourceComparator, isSupervised, removeListener, roots
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceVariantTreeSubscriber

public ResourceVariantTreeSubscriber()
Method Detail

getSyncInfo

public SyncInfo getSyncInfo(IResource resource)
                     throws TeamException
Description copied from class: Subscriber
Returns synchronization info for the given resource, or null if there is no synchronization info because the subscriber does not apply to this resource.

Note that sync info may be returned for non-existing or for resources which have no corresponding remote resource.

This method will be quick. If synchronization calculation requires content from the server it must be cached when the subscriber is refreshed. A client should call refresh before calling this method to ensure that the latest information is available for computing the sync state.

Specified by:
getSyncInfo in class Subscriber
Parameters:
resource - the resource of interest
Returns:
sync info
Throws:
TeamException

getSyncInfo

protected SyncInfo getSyncInfo(IResource local,
                               IResourceVariant base,
                               IResourceVariant remote)
                        throws TeamException
Method that creates an instance of SyncInfo for the provided local, base and remote resource variants. Can be overridden by subclasses.

Parameters:
local - the local resource
base - the base resource variant or null
remote - the remote resource variant or null
Returns:
the SyncInfo containing the provided resources
Throws:
TeamException

members

public IResource[] members(IResource resource)
                    throws TeamException
Description copied from class: Subscriber
Returns all non-transient member resources of the given resource. The result will include entries for resources that exist either in the workspace or are implicated in an incoming change. Returns an empty list if the given resource exists neither in the workspace nor in the corresponding subscriber location, or if the given resource is transient.

This is a fast operation; the repository is not contacted.

Specified by:
members in class Subscriber
Parameters:
resource - the resource
Returns:
a list of member resources
Throws:
TeamException

refresh

public void refresh(IResource[] resources,
                    int depth,
                    IProgressMonitor monitor)
             throws TeamException
Description copied from class: Subscriber
Refreshes the resource hierarchy from the given resources and their children (to the specified depth) from the corresponding resources in the remote location. Resources are ignored in the following cases:

getBaseTree

protected abstract IResourceVariantTree getBaseTree()
Return the base resource variant tree.


getRemoteTree

protected abstract IResourceVariantTree getRemoteTree()
Return the remote resource variant tree.


Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

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