Class UseSupertypeDescriptor

java.lang.Object
org.eclipse.ltk.core.refactoring.RefactoringDescriptor
org.eclipse.jdt.core.refactoring.descriptors.JavaRefactoringDescriptor
org.eclipse.jdt.core.refactoring.descriptors.UseSupertypeDescriptor
All Implemented Interfaces:
Comparable<org.eclipse.ltk.core.refactoring.RefactoringDescriptor>

public final class UseSupertypeDescriptor extends JavaRefactoringDescriptor
Refactoring descriptor for the use supertype 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.
  • Constructor Details

    • UseSupertypeDescriptor

      public UseSupertypeDescriptor()
      Creates a new refactoring descriptor.
    • UseSupertypeDescriptor

      public UseSupertypeDescriptor(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
      Throws:
      IllegalArgumentException - if the argument map contains invalid keys/values
      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
    • setReplaceInstanceof

      public void setReplaceInstanceof(boolean replace)
      Determines whether 'instanceof' statements are considered as candidates to replace the subtype occurrence by one of its supertypes.

      The default is to not replace the subtype occurrence.

      Parameters:
      replace - true to replace subtype occurrences in 'instanceof' statements, false otherwise
    • setSubtype

      public void setSubtype(IType type)
      Sets the subtype of the refactoring.

      Occurrences of the subtype are replaced by the supertype set by setSupertype(IType) where possible.

      Parameters:
      type - the subtype to set
    • setSupertype

      public void setSupertype(IType type)
      Sets the supertype of the refactoring.

      Occurrences of the subtype set by setSubtype(IType) are replaced by the supertype where possible.

      Parameters:
      type - the supertype to set
    • 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