public abstract class ResourceMappingMerger extends Object implements IResourceMappingMerger
IResourceMappingMerger
. This merger
delegates the merge of all resources covered by the mappings of the
model provider returned from getModelProvider()
back to the
merge context. Subclasses should override the merge(IMergeContext, IProgressMonitor)
method in order to change this behavior.
Clients may subclass this class.
IResourceMappingMerger
Constructor and Description |
---|
ResourceMappingMerger() |
Modifier and Type | Method and Description |
---|---|
ISchedulingRule |
getMergeRule(IMergeContext context)
Return the scheduling rule required to merge all the
changes in the context for the model provider of this merger.
|
protected abstract ModelProvider |
getModelProvider()
Return the model provider associated with this merger.
|
IStatus |
merge(IMergeContext mergeContext,
IProgressMonitor monitor)
A default implementation of merge that attempts to merge all the mappings
in the context.
|
IStatus |
validateMerge(IMergeContext mergeContext,
IProgressMonitor monitor)
Validate an auto-merge for the given context.
|
public IStatus validateMerge(IMergeContext mergeContext, IProgressMonitor monitor)
IResourceMappingMerger
merge
method) but instead
to indicate that the nature of one of more incoming changes
is such that performing an auto-merge may be undesirable.
Clients should validate before performing the merge and, if
any of the returned status are not OK, should prompt the
user to make them aware of the potential side effects.
The user may still decide to attempt an auto-merge, in which case
the client may still invoke the merge
method.
validateMerge
in interface IResourceMappingMerger
mergeContext
- a context that provides access to the resources
involved in the merge. The context must not be
null
.monitor
- a progress monitorprotected abstract ModelProvider getModelProvider()
public ISchedulingRule getMergeRule(IMergeContext context)
getMergeRule
in interface IResourceMappingMerger
context
- the context that contains the changes to be mergedIResourceMappingMerger.getMergeRule(org.eclipse.team.core.mapping.IMergeContext)
public IStatus merge(IMergeContext mergeContext, IProgressMonitor monitor) throws CoreException
merge
in interface IResourceMappingMerger
mergeContext
- the contextmonitor
- a progress monitorCoreException
- if an error occurredIResourceMappingMerger.merge(org.eclipse.team.core.mapping.IMergeContext, org.eclipse.core.runtime.IProgressMonitor)
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.