org.eclipse.ltk.core.refactoring.resource

## Class RenameResourceChange

- java.lang.Object
- - org.eclipse.ltk.core.refactoring.Change
  - - org.eclipse.ltk.core.refactoring.resource.ResourceChange
    - - org.eclipse.ltk.core.refactoring.resource.RenameResourceChange

All Implemented Interfaces:
  IAdaptable

    public class RenameResourceChange
    extends ResourceChange

`Change` that renames a resource.

Since:
  3.4

### Field Summary

### Fields inherited from class org.eclipse.ltk.core.refactoring.resource.ResourceChange

`SAVE_IF_DIRTY, VALIDATE_DEFAULT, VALIDATE_NOT_DIRTY, VALIDATE_NOT_READ_ONLY`

### Constructor Summary

Constructors
`` `RenameResourceChange(IPath resourcePath, String newName)` Creates the change.
`protected` `RenameResourceChange(IPath resourcePath, String newName, long stampToRestore)` Creates the change with a time stamp to restore.

### Method Summary

All Methods Instance Methods Concrete Methods
`ChangeDescriptor` `getDescriptor()` Returns a descriptor of this change.
`protected IResource` `getModifiedResource()` Returns the resource of this change.
`String` `getName()` Returns the human readable name of this change.
`String` `getNewName()` Returns the new name.
`Change` `perform(IProgressMonitor pm)` Performs this change.
`void` `setDescriptor(ChangeDescriptor descriptor)` Sets the change descriptor to be returned by `Change.getDescriptor()`.

### Methods inherited from class org.eclipse.ltk.core.refactoring.resource.ResourceChange

`checkIfModifiable, getModifiedElement, initializeValidationData, isValid, setValidationMethod, toString`

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

`dispose, getAdapter, getAffectedObjects, getParent, isEnabled, setEnabled, setEnabledShallow`

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

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

### Constructor Detail

#### RenameResourceChange

    public RenameResourceChange(IPath resourcePath,
                                String newName)

Creates the change.

Parameters:
  `resourcePath` - the path of the resource to rename
  `newName` - the new name. Must not be empty.

#### RenameResourceChange

    protected RenameResourceChange(IPath resourcePath,
                                   String newName,
                                   long stampToRestore)

Creates the change with a time stamp to restore.

Parameters:
  `resourcePath` - the path of the resource to rename
  `newName` - the new name. Must not be empty.
  `stampToRestore` - the time stamp to restore or `IResource.NULL_STAMP` to not restore the time stamp.

### Method Detail

#### getDescriptor

    public ChangeDescriptor getDescriptor()

Description copied from class: `Change`
Returns a descriptor of this change.

Subclasses of changes created by `Refactoring.createChange(IProgressMonitor)` should override this method to return a `RefactoringChangeDescriptor`. A change tree created by a particular refactoring is supposed to contain at most one change which returns a refactoring descriptor. Refactorings usually return an instance of `CompositeChange` in their `Refactoring.createChange(IProgressMonitor)` method which implements this method. The refactoring framework searches the change tree top-down until a refactoring descriptor is found.

Overrides:
  `getDescriptor` in class `Change`
Returns:
  a descriptor of this change, or `null` if this change does not provide a change descriptor.

#### setDescriptor

    public void setDescriptor(ChangeDescriptor descriptor)

Sets the change descriptor to be returned by `Change.getDescriptor()`.

Parameters:
  `descriptor` - the change descriptor

#### getModifiedResource

    protected IResource getModifiedResource()

Description copied from class: `ResourceChange`
Returns the resource of this change.

Specified by:
  `getModifiedResource` in class `ResourceChange`
Returns:
  the resource of this change

#### getName

    public String getName()

Description copied from class: `Change`
Returns the human readable name of this change. The name MUST not be `null`.

Specified by:
  `getName` in class `Change`
Returns:
  the human readable name of this change

#### getNewName

    public String getNewName()

Returns the new name.

Returns:
  return the new name

#### perform

    public Change perform(IProgressMonitor pm)
                   throws CoreException

Description copied from class: `Change`
Performs this change. If this method is called on an invalid or disabled change object the result is unspecified. Changes should in general not respond to `IProgressMonitor.isCanceled()` since canceling a change tree in the middle of its execution leaves the workspace in a half changed state.

Specified by:
  `perform` in class `Change`
Parameters:
  `pm` - a progress monitor
Returns:
  the undo change for this change object or `null` if no undo is provided
Throws:
  `CoreException` - if an error occurred during change execution