# Class MoveStaticMembersDescriptor

java.lang.Object
org.eclipse.ltk.core.refactoring.RefactoringDescriptor
org.eclipse.jdt.core.refactoring.descriptors.JavaRefactoringDescriptor
org.eclipse.jdt.core.refactoring.descriptors.MoveStaticMembersDescriptor

All Implemented Interfaces:
  `Comparable<org.eclipse.ltk.core.refactoring.RefactoringDescriptor>`

public final class MoveStaticMembersDescriptor extends JavaRefactoringDescriptor
Refactoring descriptor for the move static members 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 appropriate refactoring id.

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

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

## Field Summary

### Fields inherited from class JavaRefactoringDescriptor

`ATTRIBUTE_ELEMENT, ATTRIBUTE_INPUT, ATTRIBUTE_NAME, ATTRIBUTE_REFERENCES, ATTRIBUTE_SELECTION, ATTRIBUTE_VERSION, fArguments, JAR_MIGRATION, JAR_REFACTORING, JAR_SOURCE_ATTACHMENT, VALUE_VERSION_1_0`

### 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
`MoveStaticMembersDescriptor()`
Creates a new refactoring descriptor.
`MoveStaticMembersDescriptor(String project, String description, String comment, Map<String,String> arguments, int flags)`
Creates a new refactoring descriptor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`populateArgumentMap()`
Populates the refactoring descriptor argument map based on the specified arguments.
`void`
`setDeprecateDelegate(boolean deprecate)`
Determines whether the delegate for a member should be declared as deprecated.
`void`
`setDestinationType(IType type)`
Sets the destination type of the move operation.
`void`
`setKeepOriginal(boolean delegate)`
Determines whether the the original members should be kept as delegates to the moved ones.
`void`
`setMembers(IMember[] members)`
Sets the static members to move.
`org.eclipse.ltk.core.refactoring.RefactoringStatus`
`validateDescriptor()`
Validates the refactoring descriptor with respect to the constraints imposed by the represented refactoring.

### Methods inherited from class JavaRefactoringDescriptor

`createRefactoring, elementToHandle, getArguments, handleToElement, handleToElement, handleToElement, handleToResource, resourceToHandle, setComment, setDescription, setFlags, setProject`

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

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

### Methods inherited from class Object

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

## Constructor Details

### MoveStaticMembersDescriptor

public MoveStaticMembersDescriptor()
Creates a new refactoring descriptor.

### MoveStaticMembersDescriptor

public MoveStaticMembersDescriptor(String project, String description, String comment, Map<String,String> arguments, int flags)
Creates a new refactoring descriptor.

Parameters:
  `project` - the non-empty name of the project associated with this refactoring, or `null` for a workspace refactoring
  `description` - a non-empty human-readable description of the particular refactoring instance
  `comment` - the human-readable comment of the particular refactoring instance, or `null` for no comment
  `arguments` - a map of arguments that will be persisted and describes all settings for this refactoring
  `flags` - the flags of the refactoring descriptor
Since:
  1.2

## Method Details

### populateArgumentMap

protected void populateArgumentMap()
Description copied from class: `JavaRefactoringDescriptor`
Populates the refactoring descriptor argument map based on the specified arguments. Subclasses should extend and add their arguments to `JavaRefactoringDescriptor.fArguments`.

Overrides:
  `populateArgumentMap` in class `JavaRefactoringDescriptor`

### setDeprecateDelegate

public void setDeprecateDelegate(boolean deprecate)
Determines whether the delegate for a member should be declared as deprecated.

Parameters:
  `deprecate` - `true` to deprecate the delegate, `false` otherwise

### setDestinationType

public void setDestinationType(IType type)
Sets the destination type of the move operation.

Parameters:
  `type` - the destination type

### setKeepOriginal

public void setKeepOriginal(boolean delegate)
Determines whether the the original members should be kept as delegates to the moved ones.

Parameters:
  `delegate` - `true` to keep the originals, `false` otherwise

### setMembers

public void setMembers(IMember[] members)
Sets the static members to move.

Parameters:
  `members` - the members to move

### validateDescriptor

public org.eclipse.ltk.core.refactoring.RefactoringStatus validateDescriptor()
Description copied from class: `JavaRefactoringDescriptor`
Validates the refactoring descriptor with respect to the constraints imposed by the represented refactoring.

Clients must call this method to verify that all arguments have been correctly set and that they satisfy the constraints imposed by specific refactorings. Returning a refactoring status of severity `RefactoringStatus.FATAL` indicates that the refactoring descriptor cannot be used to create a refactoring instance.

Overrides:
  `validateDescriptor` in class `JavaRefactoringDescriptor`
Returns:
  a refactoring status describing the outcome of the validation