public class EditorDocumentChange
extends org.eclipse.ltk.core.refactoring.TextChange
DocumentChange
.
The original implementation relies on the ITextFileBuffer
API. Xtext doesn't and the fallback implementation
in DocumentChange
will always yield an invalid thread access error.
In addition, we need a way to combine editor saving with document changes, as there is no way to tell JDT to save our
editors after a combined Xtext/JDT refactoring.Constructor and Description |
---|
EditorDocumentChange(java.lang.String name,
org.eclipse.ui.texteditor.ITextEditor editor,
boolean doSave) |
Modifier and Type | Method and Description |
---|---|
protected org.eclipse.jface.text.IDocument |
acquireDocument(org.eclipse.core.runtime.IProgressMonitor pm) |
protected void |
commit(org.eclipse.jface.text.IDocument document,
org.eclipse.core.runtime.IProgressMonitor pm) |
protected org.eclipse.ltk.core.refactoring.Change |
createUndoChange(org.eclipse.text.edits.UndoEdit edit) |
org.eclipse.ui.texteditor.ITextEditor |
getEditor() |
java.lang.Object |
getModifiedElement() |
void |
initializeValidationData(org.eclipse.core.runtime.IProgressMonitor pm) |
boolean |
isDoSave() |
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) |
protected void |
releaseDocument(org.eclipse.jface.text.IDocument document,
org.eclipse.core.runtime.IProgressMonitor pm) |
void |
setDoSave(boolean doSave) |
addEdit, addTextEditChangeGroup, addTextEditGroup, getCurrentContent, getCurrentContent, getCurrentDocument, getEdit, getPreviewContent, getPreviewContent, getPreviewContent, getPreviewDocument, getPreviewEdit, getPreviewEdits, getTextEditChangeGroups, performEdits, setEdit, setKeepPreviewEdits
addChangeGroup, getChangeGroups, getKeepPreviewEdits, getName, getTextType, hasOneGroupCategory, setEnabled, setTextType
public EditorDocumentChange(java.lang.String name, org.eclipse.ui.texteditor.ITextEditor editor, boolean doSave)
public java.lang.Object getModifiedElement()
getModifiedElement
in class org.eclipse.ltk.core.refactoring.Change
public org.eclipse.ui.texteditor.ITextEditor getEditor()
public boolean isDoSave()
public void setDoSave(boolean doSave)
public void initializeValidationData(org.eclipse.core.runtime.IProgressMonitor pm)
initializeValidationData
in class org.eclipse.ltk.core.refactoring.Change
public org.eclipse.ltk.core.refactoring.RefactoringStatus isValid(org.eclipse.core.runtime.IProgressMonitor pm) throws org.eclipse.core.runtime.CoreException
isValid
in class org.eclipse.ltk.core.refactoring.Change
org.eclipse.core.runtime.CoreException
protected org.eclipse.jface.text.IDocument acquireDocument(org.eclipse.core.runtime.IProgressMonitor pm) throws org.eclipse.core.runtime.CoreException
acquireDocument
in class org.eclipse.ltk.core.refactoring.TextChange
org.eclipse.core.runtime.CoreException
protected void commit(org.eclipse.jface.text.IDocument document, org.eclipse.core.runtime.IProgressMonitor pm) throws org.eclipse.core.runtime.CoreException
commit
in class org.eclipse.ltk.core.refactoring.TextChange
org.eclipse.core.runtime.CoreException
protected void releaseDocument(org.eclipse.jface.text.IDocument document, org.eclipse.core.runtime.IProgressMonitor pm) throws org.eclipse.core.runtime.CoreException
releaseDocument
in class org.eclipse.ltk.core.refactoring.TextChange
org.eclipse.core.runtime.CoreException
public org.eclipse.ltk.core.refactoring.Change perform(org.eclipse.core.runtime.IProgressMonitor pm) throws org.eclipse.core.runtime.CoreException
perform
in class org.eclipse.ltk.core.refactoring.TextChange
org.eclipse.core.runtime.CoreException
protected org.eclipse.ltk.core.refactoring.Change createUndoChange(org.eclipse.text.edits.UndoEdit edit)
createUndoChange
in class org.eclipse.ltk.core.refactoring.TextChange