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

java.lang.Object
  extended by org.eclipse.ltk.core.refactoring.Change
      extended by org.eclipse.ltk.core.refactoring.TextEditBasedChange
          extended by org.eclipse.xtext.ui.refactoring.impl.DisplayChangeWrapper
All Implemented Interfaces:
org.eclipse.core.runtime.IAdaptable

public class DisplayChangeWrapper
extends org.eclipse.ltk.core.refactoring.TextEditBasedChange

Wraps a Change to be performed on the display thread. DocumentChanges are by default not executed on the display thread, causing thread access exceptions and leaving documents opened in editors in an inconsistent state.

Author:
Jan Koehnlein - Initial contribution and API

Constructor Summary
  DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.Change delegate)
           
protected DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.Change delegate, org.eclipse.ui.texteditor.ITextEditor editorToSave)
          Deprecated. Saving editors cause unpredictable errors in combination with resource rename changes
  DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.TextEditBasedChange delegate, org.eclipse.ui.texteditor.ITextEditor editorToSave)
          Deprecated. Saving editors cause unpredictable errors in combination with resource rename changes
 
Method Summary
 void addChangeGroup(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup group)
           
 void addTextEditGroup(org.eclipse.text.edits.TextEditGroup group)
           
 void dispose()
           
 boolean equals(java.lang.Object obj)
           
 java.lang.Object getAdapter(java.lang.Class adapter)
           
 java.lang.Object[] getAffectedObjects()
           
 java.lang.String getCurrentContent(org.eclipse.core.runtime.IProgressMonitor pm)
           
 java.lang.String getCurrentContent(org.eclipse.jface.text.IRegion region, boolean expandRegionToFullLine, int surroundingLines, org.eclipse.core.runtime.IProgressMonitor pm)
           
 org.eclipse.ltk.core.refactoring.Change getDelegate()
           
 org.eclipse.ltk.core.refactoring.ChangeDescriptor getDescriptor()
           
 boolean getKeepPreviewEdits()
           
 java.lang.Object getModifiedElement()
           
 java.lang.String getName()
           
 org.eclipse.ltk.core.refactoring.Change getParent()
           
 java.lang.String getPreviewContent(org.eclipse.core.runtime.IProgressMonitor pm)
           
 java.lang.String getPreviewContent(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup[] changeGroups, org.eclipse.jface.text.IRegion region, boolean expandRegionToFullLine, int surroundingLines, org.eclipse.core.runtime.IProgressMonitor pm)
           
protected  org.eclipse.ltk.core.refactoring.TextEditBasedChange getTextEditBasedChangeDelegate()
           
 java.lang.String getTextType()
           
 int hashCode()
           
 boolean hasOneGroupCategory(java.util.List groupCategories)
           
 void initializeValidationData(org.eclipse.core.runtime.IProgressMonitor pm)
           
 boolean isEnabled()
           
 org.eclipse.ltk.core.refactoring.RefactoringStatus isValid(org.eclipse.core.runtime.IProgressMonitor pm)
           
 org.eclipse.ltk.core.refactoring.Change perform(org.eclipse.core.runtime.IProgressMonitor pm)
           
 void setEnabled(boolean enabled)
           
 void setKeepPreviewEdits(boolean keep)
           
 void setTextType(java.lang.String type)
           
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.ltk.core.refactoring.TextEditBasedChange
getChangeGroups
 
Methods inherited from class org.eclipse.ltk.core.refactoring.Change
setEnabledShallow
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DisplayChangeWrapper

@Deprecated
public DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.TextEditBasedChange delegate,
                                       org.eclipse.ui.texteditor.ITextEditor editorToSave)
Deprecated. Saving editors cause unpredictable errors in combination with resource rename changes


DisplayChangeWrapper

public DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.Change delegate)

DisplayChangeWrapper

@Deprecated
protected DisplayChangeWrapper(org.eclipse.ltk.core.refactoring.Change delegate,
                                          org.eclipse.ui.texteditor.ITextEditor editorToSave)
Deprecated. Saving editors cause unpredictable errors in combination with resource rename changes

Method Detail

getDelegate

public org.eclipse.ltk.core.refactoring.Change getDelegate()

getDescriptor

public org.eclipse.ltk.core.refactoring.ChangeDescriptor getDescriptor()
Overrides:
getDescriptor in class org.eclipse.ltk.core.refactoring.Change

getName

public java.lang.String getName()
Overrides:
getName in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

setEnabled

public void setEnabled(boolean enabled)
Overrides:
setEnabled in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

getParent

public org.eclipse.ltk.core.refactoring.Change getParent()
Overrides:
getParent in class org.eclipse.ltk.core.refactoring.Change

dispose

public void dispose()
Overrides:
dispose in class org.eclipse.ltk.core.refactoring.Change

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

getModifiedElement

public java.lang.Object getModifiedElement()
Specified by:
getModifiedElement in class org.eclipse.ltk.core.refactoring.Change

getAffectedObjects

public java.lang.Object[] getAffectedObjects()
Overrides:
getAffectedObjects in class org.eclipse.ltk.core.refactoring.Change

getAdapter

public java.lang.Object getAdapter(java.lang.Class adapter)
Specified by:
getAdapter in interface org.eclipse.core.runtime.IAdaptable
Overrides:
getAdapter in class org.eclipse.ltk.core.refactoring.Change

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

isEnabled

public boolean isEnabled()
Overrides:
isEnabled in class org.eclipse.ltk.core.refactoring.Change

initializeValidationData

public void initializeValidationData(org.eclipse.core.runtime.IProgressMonitor pm)
Specified by:
initializeValidationData in class org.eclipse.ltk.core.refactoring.Change

isValid

public org.eclipse.ltk.core.refactoring.RefactoringStatus isValid(org.eclipse.core.runtime.IProgressMonitor pm)
                                                           throws org.eclipse.core.runtime.CoreException,
                                                                  org.eclipse.core.runtime.OperationCanceledException
Specified by:
isValid in class org.eclipse.ltk.core.refactoring.Change
Throws:
org.eclipse.core.runtime.CoreException
org.eclipse.core.runtime.OperationCanceledException

perform

public org.eclipse.ltk.core.refactoring.Change perform(org.eclipse.core.runtime.IProgressMonitor pm)
                                                throws org.eclipse.core.runtime.CoreException
Specified by:
perform in class org.eclipse.ltk.core.refactoring.Change
Throws:
org.eclipse.core.runtime.CoreException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

addChangeGroup

public void addChangeGroup(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup group)
Overrides:
addChangeGroup in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

addTextEditGroup

public void addTextEditGroup(org.eclipse.text.edits.TextEditGroup group)
Overrides:
addTextEditGroup in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

hasOneGroupCategory

public boolean hasOneGroupCategory(java.util.List groupCategories)
Overrides:
hasOneGroupCategory in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

getCurrentContent

public java.lang.String getCurrentContent(org.eclipse.core.runtime.IProgressMonitor pm)
                                   throws org.eclipse.core.runtime.CoreException
Specified by:
getCurrentContent in class org.eclipse.ltk.core.refactoring.TextEditBasedChange
Throws:
org.eclipse.core.runtime.CoreException

getCurrentContent

public java.lang.String getCurrentContent(org.eclipse.jface.text.IRegion region,
                                          boolean expandRegionToFullLine,
                                          int surroundingLines,
                                          org.eclipse.core.runtime.IProgressMonitor pm)
                                   throws org.eclipse.core.runtime.CoreException
Specified by:
getCurrentContent in class org.eclipse.ltk.core.refactoring.TextEditBasedChange
Throws:
org.eclipse.core.runtime.CoreException

getKeepPreviewEdits

public boolean getKeepPreviewEdits()
Overrides:
getKeepPreviewEdits in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

getPreviewContent

public java.lang.String getPreviewContent(org.eclipse.ltk.core.refactoring.TextEditBasedChangeGroup[] changeGroups,
                                          org.eclipse.jface.text.IRegion region,
                                          boolean expandRegionToFullLine,
                                          int surroundingLines,
                                          org.eclipse.core.runtime.IProgressMonitor pm)
                                   throws org.eclipse.core.runtime.CoreException
Specified by:
getPreviewContent in class org.eclipse.ltk.core.refactoring.TextEditBasedChange
Throws:
org.eclipse.core.runtime.CoreException

getPreviewContent

public java.lang.String getPreviewContent(org.eclipse.core.runtime.IProgressMonitor pm)
                                   throws org.eclipse.core.runtime.CoreException
Specified by:
getPreviewContent in class org.eclipse.ltk.core.refactoring.TextEditBasedChange
Throws:
org.eclipse.core.runtime.CoreException

getTextType

public java.lang.String getTextType()
Overrides:
getTextType in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

setKeepPreviewEdits

public void setKeepPreviewEdits(boolean keep)
Overrides:
setKeepPreviewEdits in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

setTextType

public void setTextType(java.lang.String type)
Overrides:
setTextType in class org.eclipse.ltk.core.refactoring.TextEditBasedChange

getTextEditBasedChangeDelegate

protected org.eclipse.ltk.core.refactoring.TextEditBasedChange getTextEditBasedChangeDelegate()