Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ltk.ui.refactoring.model
Class AbstractResourceMappingMerger

java.lang.Object
  extended by 

org.eclipse.team.core.mapping.ResourceMappingMerger
      extended by 
org.eclipse.ltk.ui.refactoring.model.AbstractResourceMappingMerger
All Implemented Interfaces:
IResourceMappingMerger

public abstract class AbstractResourceMappingMerger
extends ResourceMappingMerger

Partial implementation of a refactoring-aware resource mapping merger.

This class provides support to determine pending refactorings during model merging and model update, and displays a refactoring wizard to apply the refactorings to the local workspace.

Note: this class is designed to be extended by clients. Programming language implementers which need a refactoring-aware resource mapping merger to associated with their model provider may extend this class to implement language-specific project dependency rules.

Since:
3.2
See Also:
IResourceMappingMerger

Constructor Summary
protected AbstractResourceMappingMerger ( ModelProvider provider)
          Creates a new abstract refactoring model merger.
 
Method Summary
protected   IStatus aboutToPerformMerge ( IMergeContext context, IProgressMonitor monitor)
          Hook method which is called before the actual merge process happens.
protected abstract   IProject[] getDependencies ( IProject[] projects)
          Returns the dependent projects of the projects associated with the incoming refactorings.
protected   ModelProvider getModelProvider ()
          Return the model provider associated with this merger.
  IStatus merge ( IMergeContext context, IProgressMonitor monitor)
          A default implementation of merge that attempts to merge all the mappings in the context.
protected   IStatus mergePerformed ( IMergeContext context, IProgressMonitor monitor)
          Hook method which is called after the actual merge process happened.
 
Methods inherited from class org.eclipse.team.core.mapping. ResourceMappingMerger
getMergeRule, validateMerge
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractResourceMappingMerger

protected AbstractResourceMappingMerger(
ModelProvider provider)
Creates a new abstract refactoring model merger.

Parameters:
provider - the model provider
Method Detail

aboutToPerformMerge

protected 
IStatus aboutToPerformMerge(
IMergeContext context,
                                      
IProgressMonitor monitor)
Hook method which is called before the actual merge process happens.

Subclasses may extend this method to perform any special processing. The default implementation checks whether there are any pending refactorings in the merge context and displays a refactoring wizard to let the user perform the pending refactorings before merge.

Returning a status of severity IStatus.ERROR will terminate the merge process.

Parameters:
context - the merge context
monitor - the progress monitor to use
Returns:
a status describing the outcome of the operation

getDependencies

protected abstract 
IProject[] getDependencies(
IProject[] projects)
Returns the dependent projects of the projects associated with the incoming refactorings.

Subclasses must implement this method to return the dependent projects according to the semantics of the associated programming language. The result of this method is used to decide whether the resource mapping merger should execute the incoming refactorings in order to fix up references in dependent projects.

Parameters:
projects - the projects associated with the incoming refactorings in the synchronization scope.
Returns:
the dependent projects, or an empty array

getModelProvider

protected final 
ModelProvider getModelProvider()
Return the model provider associated with this merger.

Specified by:
getModelProvider in class ResourceMappingMerger
Returns:
Return the model provider associated with this merger.

merge

public 
IStatus merge(
IMergeContext context,
                     
IProgressMonitor monitor)
              throws 
CoreException
A default implementation of merge that attempts to merge all the mappings in the context.

Specified by:
merge in interface IResourceMappingMerger
Overrides:
merge in class ResourceMappingMerger
Parameters:
context - the context
monitor - a progress monitor
Returns:
a status indicating whether the merge was successful
Throws:
CoreException - if an error occurred
See Also:
IResourceMappingMerger.merge(org.eclipse.team.core.mapping.IMergeContext, org.eclipse.core.runtime.IProgressMonitor)

mergePerformed

protected 
IStatus mergePerformed(
IMergeContext context,
                                 
IProgressMonitor monitor)
Hook method which is called after the actual merge process happened. This method is only called if merge(IMergeContext, IProgressMonitor) returns a status with severity less than IStatus.ERROR and a status code unequal to IMergeStatus.CONFLICTS or IMergeStatus.INTERNAL_ERROR.

Subclasses may extend this method to perform any special processing. The default implementation does nothing.

Parameters:
context - the merge context
monitor - the progress monitor to use
Returns:
a status describing the outcome of the operation

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire