Package org.eclipse.team.core.variants
Class ThreeWayRemoteTree
- java.lang.Object
-
- org.eclipse.team.core.variants.AbstractResourceVariantTree
-
- org.eclipse.team.core.variants.ResourceVariantTree
-
- org.eclipse.team.core.variants.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:
ThreeWaySubscriber
-
-
Constructor Summary
Constructors Constructor Description 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
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IResource[]
collectChanges(IResource local, IResourceVariant remote, int depth, IProgressMonitor monitor)
Collect the changes in the remote tree to the specified depth.IResourceVariant
getResourceVariant(IResource resource)
Return the resource variant corresponding to the local resource.protected ThreeWaySubscriber
getSubscriber()
Return the subscriber associated with this resource variant tree.IResource[]
roots()
Returns the list of root resources for which this tree may have resource variants.-
Methods inherited from class org.eclipse.team.core.variants.ResourceVariantTree
flushVariants, getBytes, getByteStore, hasResourceVariant, members, setVariant
-
Methods inherited from class org.eclipse.team.core.variants.AbstractResourceVariantTree
collectedMembers, fetchMembers, fetchVariant, refresh, refresh
-
-
-
-
Constructor Detail
-
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 Detail
-
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. Returnnull
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 classResourceVariantTree
- Parameters:
local
- the local resource being refreshedremote
- the corresponding resource variantdepth
- the depth of the refresh (one ofIResource.DEPTH_ZERO
,IResource.DEPTH_ONE
, orIResource.DEPTH_INFINITE
)monitor
- a progress monitor- Returns:
- the resource's whose variants have changed
- Throws:
TeamException
- if an error occurs
-
-