|
|
|
|
org.eclipse.team.core.mapping.provider
Class SynchronizationContext
java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.team.core.mapping.provider.SynchronizationContext
-
All Implemented Interfaces:
-
IAdaptable,
ISynchronizationContext
-
Direct Known Subclasses:
-
MergeContext
-
public abstract class SynchronizationContext
- extends
PlatformObject
- implements
ISynchronizationContext
Abstract implementation of the
ISynchronizationContext interface.
This class can be subclassed by clients.
-
Since:
- 3.2
-
See Also:
-
ISynchronizationContext
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
SynchronizationContext
protected SynchronizationContext(
ISynchronizationScopeManager manager,
int type,
IResourceDiffTree diffTree)
- Create a synchronization context.
-
Parameters:
-
manager - the manager that defines the scope of the synchronization -
type - the type of synchronization (ONE_WAY or TWO_WAY) -
diffTree - the sync info tree that contains all out-of-sync resources
getScope
public
ISynchronizationScope getScope()
- Return the input that defined the scope of this synchronization context.
The input determines the set of resources to which the context applies.
Changes in the input may result in changes to the sync-info available in
the tree of this context.
-
-
Specified by:
-
getScope
in interface
ISynchronizationContext
-
-
Returns:
- the input that defined the scope of this synchronization context.
getScopeManager
public
ISynchronizationScopeManager getScopeManager()
- Return the scope manager for the scope of this context.
-
-
-
Returns:
- the scope manager for the scope of this context
getType
public int getType()
- Return the synchronization type. A type of
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.
-
-
Specified by:
-
getType
in interface
ISynchronizationContext
-
-
Returns:
- the type of synchronization information available in the context
-
See Also:
-
IDiff ,
IThreeWayDiff
dispose
public void dispose()
- Dispose of the synchronization context and the cache of the context. This
method should be invoked by clients when the context is no longer needed.
-
-
Specified by:
-
dispose
in interface
ISynchronizationContext
-
getCache
public
ICache getCache()
- Return the cache associated with this synchronization context.
The cache is maintained for the lifetime of this context and is
disposed when the the context is disposed. It can be used by
clients to cache model state related to the context so that it can
be maintained for the life of the operation to which the context
applies.
-
-
Specified by:
-
getCache
in interface
ISynchronizationContext
-
-
Returns:
- the cache associated with this synchronization context
getDiffTree
public
IResourceDiffTree getDiffTree()
- Return a tree that contains
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.
-
-
Specified by:
-
getDiffTree
in interface
ISynchronizationContext
-
-
Returns:
- a tree that contains an entry for any
resources that are out-of-sync.
-
See Also:
-
IResourceDiffTree.getDiffs(ResourceTraversal[]) ,
IResourceDiffTree.getResource(IDiff)
refresh
public void refresh(
ResourceMapping[] mappings,
IProgressMonitor monitor)
throws
CoreException
- Refresh the portion of the context related to the given resource
mappings. The provided mappings must be within the scope of this context.
Refreshing mappings may result in additional resources being added to the
scope of this context. If new resources are included in the scope, a
property change event will be fired from the scope. If the
synchronization state of any of the resources covered by the mapping
change, a change event will be fired from the diff tree of this context.
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.
-
-
Specified by:
-
refresh
in interface
ISynchronizationContext
-
-
Parameters:
-
mappings - the mappings to be refreshed -
monitor - a progress monitor
-
Throws:
-
CoreException
- if errors occur
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|