Package org.eclipse.ltk.core.refactoring.resource

# Class MoveRenameResourceDescriptor

java.lang.Object
org.eclipse.ltk.core.refactoring.RefactoringDescriptor
org.eclipse.ltk.core.refactoring.resource.MoveRenameResourceDescriptor

All Implemented Interfaces:
  `Comparable<RefactoringDescriptor>`

public final class MoveRenameResourceDescriptor extends RefactoringDescriptor
Refactoring descriptor for the move/rename resource refactoring.

An instance of this refactoring descriptor may be obtained by calling `RefactoringContribution.createDescriptor()` on a refactoring contribution requested by invoking `RefactoringCore.getRefactoringContribution(String)` with the refactoring id (`ID`).

Note: this class is not intended to be subclassed or instantiated by clients.

Since:
  3.10
Restriction:
  This class is not intended to be instantiated by clients.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ID`
Refactoring id of the 'Move/Rename Resource' refactoring (value: `org.eclipse.ltk.core.refactoring.moverename.resource`).

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

`BREAKING_CHANGE, ID_UNKNOWN, MULTI_CHANGE, NONE, STRUCTURAL_CHANGE, USER_CHANGE`

## Constructor Summary

Constructors
Constructor
Description
`MoveRenameResourceDescriptor()`
Creates a new refactoring descriptor.

## Method Summary

Modifier and Type
Method
Description
`Refactoring`
`createRefactoring(RefactoringStatus status)`
Creates the a new refactoring instance for this refactoring descriptor.
`IPath`
`getDestinationPath()`
Returns the destination container to move the resources in.
`String`
`getNewName()`
Returns the new name to rename the resource to.
`IPath`
`getResourcePath()`
Returns the path of the resource to rename.
`boolean`
`isUpdateReferences()`
Returns if this rename will also update references
`void`
`setDestination(IContainer container)`
Sets the destination container to move the resources in.
`void`
`setDestinationPath(IPath path)`
Sets the path of the destination container to move the resources in.
`void`
`setNewName(String name)`
Sets the new name to rename the resource to.
`void`
`setProject(String project)`
Sets the project name of this refactoring.
`void`
`setResourcePath(IPath resourcePath)`
Sets the resource to be renamed.
`void`
`setUpdateReferences(boolean updateReferences)`
If set to `true`, this rename will also update references.

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

`compareTo, createRefactoringContext, equals, getComment, getDescription, getFlags, getID, getProject, getTimeStamp, hashCode, setComment, setDescription, setFlags, setTimeStamp, toString`

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

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

## Field Details

### ID

public static final String ID
Refactoring id of the 'Move/Rename Resource' refactoring (value: `org.eclipse.ltk.core.refactoring.moverename.resource`).

Clients may safely cast the obtained refactoring descriptor to `MoveRenameResourceDescriptor`.

See Also:
  - Constant Field Values

## Constructor Details

### MoveRenameResourceDescriptor

public MoveRenameResourceDescriptor()
Creates a new refactoring descriptor.

Clients should not instantiated this class but use `RefactoringCore.getRefactoringContribution(String)` with `ID` to get the contribution that can create the descriptor.

## Method Details

### setNewName

public void setNewName(String name)
Sets the new name to rename the resource to.

Parameters:
  `name` - the non-empty new name to set

### getNewName

public String getNewName()
Returns the new name to rename the resource to.

Returns:
  the new name to rename the resource to

### setDestination

public void setDestination(IContainer container)
Sets the destination container to move the resources in.

Parameters:
  `container` - the destination

### setDestinationPath

public void setDestinationPath(IPath path)
Sets the path of the destination container to move the resources in.

Parameters:
  `path` - the destination path

### getDestinationPath

public IPath getDestinationPath()
Returns the destination container to move the resources in.

Returns:
  the destination container to move the resource in

### setProject

public void setProject(String project)
Sets the project name of this refactoring.

Note: If the resource to be renamed is of type `IResource.PROJECT`, clients are required to to set the project name to `null`.

The default is to associate the refactoring with the workspace.

Overrides:
  `setProject` in class `RefactoringDescriptor`
Parameters:
  `project` - the non-empty project name to set, or `null` for the workspace
See Also:
  - `RefactoringDescriptor.getProject()`

### setResourcePath

public void setResourcePath(IPath resourcePath)
Sets the resource to be renamed.

Note: If the resource to be renamed is of type `IResource.PROJECT`, clients are required to to set the project name to `null`.

Parameters:
  `resourcePath` - the resource to be renamed

### getResourcePath

public IPath getResourcePath()
Returns the path of the resource to rename.

Returns:
  the path of the resource to rename

### setUpdateReferences

public void setUpdateReferences(boolean updateReferences)
If set to `true`, this rename will also update references. The default is to update references.

Parameters:
  `updateReferences` - `true` if this rename will update references

### isUpdateReferences

public boolean isUpdateReferences()
Returns if this rename will also update references

Returns:
  returns `true` if this rename will update references

### createRefactoring

public Refactoring createRefactoring(RefactoringStatus status) throws CoreException
Description copied from class: `RefactoringDescriptor`
Creates the a new refactoring instance for this refactoring descriptor.

The returned refactoring must be in an initialized state, i.e. ready to be executed via `PerformRefactoringOperation`.

This method is not intended to be called directly from code that does not belong to this class and its subclasses. External code should call `RefactoringDescriptor.createRefactoringContext(RefactoringStatus)` and obtain the refactoring object from the refactoring context.

Specified by:
  `createRefactoring` in class `RefactoringDescriptor`
Parameters:
  `status` - a refactoring status used to describe the outcome of the initialization
Returns:
  the refactoring, or `null` if this refactoring descriptor represents the unknown refactoring, or if no refactoring contribution is available for this refactoring descriptor which is capable to create a refactoring
Throws:
  `CoreException` - if an error occurs while creating the refactoring instance