Class QuickFixAdapter

All Implemented Interfaces:
IQuickFixer, IMarkerResolution, IMarkerResolution2
Direct Known Subclasses:
CloseProjectQuickFixer, CreateModuleFolders, DeleteFile, DeleteProperty, DeleteRect, GotoProperty, RecoverModuleSettings, RenameResource

public abstract class QuickFixAdapter extends WorkbenchMarkerResolution implements IQuickFixer
The quick-fixes adapter class to Eclipse. It handles resolution of quick-fixes that can be grouped with others that are similar to allow multi-selection.
Author:
Christopher Mindus
  • Constructor Details

    • QuickFixAdapter

      public QuickFixAdapter()
  • Method Details

    • getDescription

      public String getDescription()
      Returns optional additional information about the resolution. The additional information will be presented to assist the user in deciding if the selected proposal is the desired choice.
      Specified by:
      getDescription in interface IMarkerResolution2
      Returns:
      the additional information or null
    • getImage

      public Image getImage()
      Returns the image to be displayed in the list of resolutions. The image would typically be shown to the left of the display string.
      Specified by:
      getImage in interface IMarkerResolution2
      Returns:
      the image to be shown or null if no image is desired
    • getLabel

      public abstract String getLabel()
      Returns a short label indicating what the resolution will do.
      Specified by:
      getLabel in interface IMarkerResolution
      Specified by:
      getLabel in interface IQuickFixer
      Returns:
      a short label for this resolution
    • isMarkerRequired

      public boolean isMarkerRequired()
      Indicates if the label returned and also the description depends on the marker selected. In case this method returns true, a new Quick-Fix of the same instance is created followed by setMarker(marker). The implementation of getLabel() can therefore be redirected to getLabel(marker) instead.
      Specified by:
      isMarkerRequired in interface IQuickFixer
      Returns:
      false by default.
    • setMarker

      public void setMarker(IMarker marker)
      Call to set the marker in a new instance of the quick-fixer.
      Specified by:
      setMarker in interface IQuickFixer
      Parameters:
      marker - The marker.
    • getMarker

      public IMarker getMarker()
      Gets the marker if the isMarkerRequired() is true.
    • run

      public abstract void run(IMarker marker)
      Runs this resolution.
      Specified by:
      run in interface IMarkerResolution
      Specified by:
      run in interface IQuickFixer
      Parameters:
      marker - the marker to resolve
    • canBeGrouped

      public boolean canBeGrouped()
      Checks if this resolution can be grouped together with other ones. By default it can be grouped, but e.g. the "Go to Property" should not be grouped (you can't go to several places at once).
      Returns:
      true by default, override to return false for e.g. the "Go to Property" quick-fixer.
    • findOtherMarkers

      public IMarker[] findOtherMarkers(IMarker[] markers)
      Iterate through the list of supplied markers. Return any that can also have the receiver applied to them.
      Specified by:
      findOtherMarkers in class WorkbenchMarkerResolution
      Parameters:
      markers - The array of markers.
      Returns:
      IMarker[]