public abstract class SynchronizationContext extends PlatformObject implements ISynchronizationContext
ISynchronizationContext
interface.
This class can be subclassed by clients.ISynchronizationContext
THREE_WAY, TWO_WAY
Modifier | Constructor and Description |
---|---|
protected |
SynchronizationContext(ISynchronizationScopeManager manager,
int type,
IResourceDiffTree diffTree)
Create a synchronization context.
|
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Dispose of the synchronization context and the cache of the context.
|
ICache |
getCache()
Return the cache associated with this synchronization context.
|
IResourceDiffTree |
getDiffTree()
Return a tree that contains
IDiff entries for resources that
are out-of-sync. |
ISynchronizationScope |
getScope()
Return the input that defined the scope of this synchronization context.
|
ISynchronizationScopeManager |
getScopeManager()
Return the scope manager for the scope of this context.
|
int |
getType()
Return the synchronization type.
|
void |
refresh(ResourceMapping[] mappings,
IProgressMonitor monitor)
Refresh the portion of the context related to the given resource
mappings.
|
getAdapter
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
refresh
protected SynchronizationContext(ISynchronizationScopeManager manager, int type, IResourceDiffTree diffTree)
manager
- the manager that defines the scope of the synchronizationtype
- the type of synchronization (ONE_WAY or TWO_WAY)diffTree
- the sync info tree that contains all out-of-sync resourcespublic ISynchronizationScope getScope()
getScope
in interface ISynchronizationContext
public ISynchronizationScopeManager getScopeManager()
public int getType()
TWO_WAY
indicates that the synchronization information associated with the
context will also be two-way IDiff
instances (i.e. there is
only a remote but no base involved in the comparison used to determine
the synchronization state of resources. A type of THREE_WAY
indicates that the synchronization information will be three-way
IThreeWayDiff
instances.getType
in interface ISynchronizationContext
IDiff
,
IThreeWayDiff
public void dispose()
dispose
in interface ISynchronizationContext
public ICache getCache()
getCache
in interface ISynchronizationContext
public IResourceDiffTree getDiffTree()
IDiff
entries for resources that
are out-of-sync. The tree will contain entries for any out-of-sync
resources that are within the scope of this context. The tree may include
entries for additional resources, which should be ignored by the client.
Clients can test for inclusion using the method
ISynchronizationScope.contains(IResource)
.
The returned IResourceDiffTree
will be homogeneous and contain either
IResourceDiff
or IThreeWayDiff
instances. Any
IThreeWayDiff
contained in the returned tree will contain
IResourceDiff
instances as the local and remote changes. This
interface also has several helper methods for handling entries contained in
the returned diff tree.
getDiffTree
in interface ISynchronizationContext
IResourceDiffTree.getDiffs(ResourceTraversal[])
,
IResourceDiffTree.getResource(IDiff)
public void refresh(ResourceMapping[] mappings, IProgressMonitor monitor) throws CoreException
Changes to the diff tree may be triggered by a call to this method or by a refresh triggered by some other source. Hence, the callback from the diff tree to report changes may occur in the same thread as the refresh or asynchronously in a separate thread, regardless of who triggered the refresh.
refresh
in interface ISynchronizationContext
mappings
- the mappings to be refreshedmonitor
- a progress monitorCoreException
- if errors occur
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.