org.eclipse.jdt.core.refactoring

## Class CompilationUnitChange

- java.lang.Object
- - org.eclipse.ltk.core.refactoring.Change
  - - org.eclipse.ltk.core.refactoring.TextEditBasedChange
    - - org.eclipse.ltk.core.refactoring.TextChange
      - - org.eclipse.ltk.core.refactoring.TextFileChange
        - - org.eclipse.jdt.core.refactoring.CompilationUnitChange

All Implemented Interfaces:
  IAdaptable

    public class CompilationUnitChange
    extends TextFileChange

A `TextFileChange` that operates on an `ICompilationUnit` in the workspace.

Since:
  1.3

### Field Summary

### Fields inherited from class org.eclipse.ltk.core.refactoring.TextFileChange

`FORCE_SAVE, KEEP_SAVE_STATE, LEAVE_DIRTY`

### Constructor Summary

Constructors
Constructor and Description
`CompilationUnitChange(String name, ICompilationUnit cunit)` Creates a new `CompilationUnitChange`.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected IDocument` `acquireDocument(IProgressMonitor pm)`
`protected Change` `createUndoChange(UndoEdit edit, ContentStamp stampToRestore)`
`<T> T` `getAdapter(Class<T> adapter)`
`ICompilationUnit` `getCompilationUnit()` Returns the compilation unit this change works on.
`ChangeDescriptor` `getDescriptor()`
`Object` `getModifiedElement()`
`protected void` `releaseDocument(IDocument document, IProgressMonitor pm)`
`void` `setDescriptor(ChangeDescriptor descriptor)` Sets the refactoring descriptor for this change.

### Methods inherited from class org.eclipse.ltk.core.refactoring.TextFileChange

`commit, createUndoChange, dispose, getAffectedObjects, getFile, getSaveMode, initializeValidationData, isDocumentAcquired, isDocumentModified, isValid, needsSaving, performEdits, setSaveMode`

### Methods inherited from class org.eclipse.ltk.core.refactoring.TextChange

`addEdit, addTextEditChangeGroup, addTextEditGroup, getCurrentContent, getCurrentContent, getCurrentDocument, getEdit, getPreviewContent, getPreviewContent, getPreviewContent, getPreviewDocument, getPreviewEdit, getPreviewEdits, getTextEditChangeGroups, perform, setEdit, setKeepPreviewEdits`

### Methods inherited from class org.eclipse.ltk.core.refactoring.TextEditBasedChange

`addChangeGroup, getChangeGroups, getKeepPreviewEdits, getName, getTextType, hasOneGroupCategory, setEnabled, setTextType`

### Methods inherited from class org.eclipse.ltk.core.refactoring.Change

`getParent, isEnabled, setEnabledShallow`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CompilationUnitChange

    public CompilationUnitChange(String name,
                                 ICompilationUnit cunit)

Creates a new `CompilationUnitChange`.

Parameters:
  `name` - the change's name, mainly used to render the change in the UI
  `cunit` - the compilation unit this change works on

### Method Detail

#### getModifiedElement

    public Object getModifiedElement()

Overrides:
  `getModifiedElement` in class `TextFileChange`

#### getCompilationUnit

    public ICompilationUnit getCompilationUnit()

Returns the compilation unit this change works on.

Returns:
  the compilation unit this change works on

#### acquireDocument

    protected IDocument acquireDocument(IProgressMonitor pm)
                                 throws CoreException

Overrides:
  `acquireDocument` in class `TextFileChange`
Throws:
  `CoreException`

#### releaseDocument

    protected void releaseDocument(IDocument document,
                                   IProgressMonitor pm)
                            throws CoreException

Overrides:
  `releaseDocument` in class `TextFileChange`
Throws:
  `CoreException`

#### createUndoChange

    protected Change createUndoChange(UndoEdit edit,
                                      ContentStamp stampToRestore)

Overrides:
  `createUndoChange` in class `TextFileChange`

#### getAdapter

    public <T> T getAdapter(Class<T> adapter)

Specified by:
  `getAdapter` in interface `IAdaptable`
Overrides:
  `getAdapter` in class `Change`

#### setDescriptor

    public void setDescriptor(ChangeDescriptor descriptor)

Sets the refactoring descriptor for this change.

Parameters:
  `descriptor` - the descriptor to set, or `null` to set no descriptor

#### getDescriptor

    public ChangeDescriptor getDescriptor()

Overrides:
  `getDescriptor` in class `Change`