Class ThreeWayRemoteTree

All Implemented Interfaces:
IResourceVariantTree

public abstract class ThreeWayRemoteTree extends ResourceVariantTree
A resource variant tree that caches and obtains its bytes from the remote slot in a three-way synchronizer. Clients must subclass to provide remote resource variant refresh functionality.
Since:
3.0
See Also:
  • Constructor Details

    • ThreeWayRemoteTree

      public ThreeWayRemoteTree(ThreeWaySubscriber subscriber)
      Create a remote resource variant tree that stores and obtains it's bytes from the remote slot of the synchronizer of the given subscriber
      Parameters:
      subscriber - a three-way subscriber
  • Method Details

    • roots

      public IResource[] roots()
      Description copied from interface: IResourceVariantTree
      Returns the list of root resources for which this tree may have resource variants.
      Returns:
      the list of root resources.
    • getResourceVariant

      public IResourceVariant getResourceVariant(IResource resource) throws TeamException
      Description copied from interface: IResourceVariantTree
      Return the resource variant corresponding to the local resource. Return null if there is no variant for the resource.
      Parameters:
      resource - the local resource
      Returns:
      the resource's variant in this tree
      Throws:
      TeamException - if an error occurs
    • getSubscriber

      protected ThreeWaySubscriber getSubscriber()
      Return the subscriber associated with this resource variant tree.
      Returns:
      the subscriber associated with this resource variant tree
    • collectChanges

      protected IResource[] collectChanges(IResource local, IResourceVariant remote, int depth, IProgressMonitor monitor) throws TeamException
      Description copied from class: AbstractResourceVariantTree
      Collect the changes in the remote tree to the specified depth.
      Overrides:
      collectChanges in class ResourceVariantTree
      Parameters:
      local - the local resource being refreshed
      remote - the corresponding resource variant
      depth - the depth of the refresh (one of IResource.DEPTH_ZERO, IResource.DEPTH_ONE, or IResource.DEPTH_INFINITE)
      monitor - a progress monitor
      Returns:
      the resource's whose variants have changed
      Throws:
      TeamException - if an error occurs