org.eclipse.xtext.ui.refactoring.impl
Class DefaultRenameStrategy

java.lang.Object
  extended by org.eclipse.xtext.ui.refactoring.impl.AbstractRenameStrategy
      extended by org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy
All Implemented Interfaces:
DefaultRenameStrategyProvider.IInitializable, IRenameStrategy
Direct Known Subclasses:
XbaseRenameStrategy, XtextRenameStrategyProvider.MetamodelDeclarationRenameStrategy, XtextRenameStrategyProvider.RuleRenameStrategy

public class DefaultRenameStrategy
extends AbstractRenameStrategy

Default rename strategy for Xtext based elements that have an EAttribute name.

Author:
Jan Koehnlein - Initial contribution and API, Holger Schill

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.xtext.ui.refactoring.IRenameStrategy
IRenameStrategy.Provider
 
Field Summary
protected  java.lang.String nameRuleName
           
protected  ITextRegion originalNameRegion
           
 
Constructor Summary
DefaultRenameStrategy()
           
 
Method Summary
 void applyDeclarationChange(java.lang.String newName, org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
          Applies the declaration change to the semantic model in the given resource set.
 void createDeclarationUpdates(java.lang.String newName, org.eclipse.emf.ecore.resource.ResourceSet resourceSet, IRefactoringUpdateAcceptor updateAcceptor)
          Creates the document updates and reports them to the updateAcceptor
protected  org.eclipse.text.edits.TextEdit getDeclarationTextEdit(java.lang.String newName)
           
protected  java.lang.String getNameAsText(java.lang.String nameAsValue)
           
protected  java.lang.String getNameAsValue(java.lang.String nameAsText)
           
protected  java.lang.String getNameRuleName(org.eclipse.emf.ecore.EObject targetElement, org.eclipse.emf.ecore.EAttribute nameAttribute)
           
 java.lang.String getOriginalName()
           
protected  ITextRegion getOriginalNameRegion(org.eclipse.emf.ecore.EObject targetElement, org.eclipse.emf.ecore.EAttribute nameAttribute)
           
 boolean initialize(org.eclipse.emf.ecore.EObject targetElement, IRenameElementContext context)
           
 
Methods inherited from class org.eclipse.xtext.ui.refactoring.impl.AbstractRenameStrategy
getNameAttribute, getNameAttribute, getTargetElementNewURI, getTargetElementOriginalURI, revertDeclarationChange, setName, validateNewName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

originalNameRegion

protected ITextRegion originalNameRegion

nameRuleName

protected java.lang.String nameRuleName
Constructor Detail

DefaultRenameStrategy

public DefaultRenameStrategy()
Method Detail

initialize

public boolean initialize(org.eclipse.emf.ecore.EObject targetElement,
                          IRenameElementContext context)
Specified by:
initialize in interface DefaultRenameStrategyProvider.IInitializable
Overrides:
initialize in class AbstractRenameStrategy

getOriginalNameRegion

protected ITextRegion getOriginalNameRegion(org.eclipse.emf.ecore.EObject targetElement,
                                            org.eclipse.emf.ecore.EAttribute nameAttribute)

getNameRuleName

protected java.lang.String getNameRuleName(org.eclipse.emf.ecore.EObject targetElement,
                                           org.eclipse.emf.ecore.EAttribute nameAttribute)

createDeclarationUpdates

public void createDeclarationUpdates(java.lang.String newName,
                                     org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
                                     IRefactoringUpdateAcceptor updateAcceptor)
Description copied from interface: IRenameStrategy
Creates the document updates and reports them to the updateAcceptor


getDeclarationTextEdit

protected org.eclipse.text.edits.TextEdit getDeclarationTextEdit(java.lang.String newName)

getNameAsText

protected java.lang.String getNameAsText(java.lang.String nameAsValue)

getNameAsValue

protected java.lang.String getNameAsValue(java.lang.String nameAsText)

getOriginalName

public java.lang.String getOriginalName()
Specified by:
getOriginalName in interface IRenameStrategy
Overrides:
getOriginalName in class AbstractRenameStrategy

applyDeclarationChange

public void applyDeclarationChange(java.lang.String newName,
                                   org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
Description copied from interface: IRenameStrategy
Applies the declaration change to the semantic model in the given resource set.

Specified by:
applyDeclarationChange in interface IRenameStrategy
Overrides:
applyDeclarationChange in class AbstractRenameStrategy