Class QuickFixer

java.lang.Object
com.iizigo.quickfix.QuickFixer
All Implemented Interfaces:
org.eclipse.ui.IMarkerResolutionGenerator, org.eclipse.ui.IMarkerResolutionGenerator2

public class QuickFixer extends Object implements org.eclipse.ui.IMarkerResolutionGenerator2
Class that handles all quick fixes.
Author:
Christopher Mindus
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final org.eclipse.core.resources.IMarker[]
    Empty array of markers.
    static final org.eclipse.ui.IMarkerResolution[]
    Empty array of marker resolutions.
    static final String
    The quick fixer ID.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static org.eclipse.core.resources.IMarker[]
    findOtherMarkers(IQuickFixer fixer, org.eclipse.core.resources.IMarker[] markers)
    Iterate through the list of supplied markers.
    static String
    Gets a list of quick-fixes for the marker attribute.
    static Map<String,Object>
    Gets the attributes required for quick-fixes when they consist of a instances of IQuickFix.
    static Map<String,Object>
    getMarkerAttributes(IQuickFix[] fixers, String[] fixerIDs)
    Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances of IQuickFix.
    static Map<String,Object>
    Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances of IQuickFix.
    org.eclipse.ui.IMarkerResolution[]
    getResolutions(org.eclipse.core.resources.IMarker marker)
    Returns resolutions for the given marker (may be empty).
    boolean
    hasResolutions(org.eclipse.core.resources.IMarker marker)
    Returns whether there are any resolutions for the given marker.
    static void
    register(String fixID, IQuickFixer quickFixer)
    Registers a quick fix with an ID.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ID

      public static final String ID
      The quick fixer ID.
    • EMPTY_MARKERS

      public static final org.eclipse.core.resources.IMarker[] EMPTY_MARKERS
      Empty array of markers.
    • EMPTY_RESOLUTIONS

      public static final org.eclipse.ui.IMarkerResolution[] EMPTY_RESOLUTIONS
      Empty array of marker resolutions.
  • Constructor Details

    • QuickFixer

      public QuickFixer()
  • Method Details

    • register

      public static void register(String fixID, IQuickFixer quickFixer)
      Registers a quick fix with an ID.
      Parameters:
      fixID - The fix ID, unique.
      quickFixer - The doer for quick-fixing.
      Throws:
      IllegalArgumentException - If the fixID is registered.
    • getMarkerAttribute

      public static String getMarkerAttribute(String... fixerIDs)
      Gets a list of quick-fixes for the marker attribute.
      Parameters:
      fixerIDs - The quick-fixer IDs.
      Returns:
      The IDs to use as attribute with the QuickFixer.ID attribute name for the marker, or null for no quick-fixes.
    • getMarkerAttributes

      public static Map<String,Object> getMarkerAttributes(String[] fixerIDs)
      Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances of IQuickFix.
      Parameters:
      fixerIDs - An array of static quick-fixer IDs.
      Returns:
      The map used for the problem or marker.
    • getMarkerAttributes

      public static Map<String,Object> getMarkerAttributes(IQuickFix[] fixers)
      Gets the attributes required for quick-fixes when they consist of a instances of IQuickFix.
      Parameters:
      fixers - An array of quick-fixes instances.
      Returns:
      The map used for the problem or marker.
    • getMarkerAttributes

      public static Map<String,Object> getMarkerAttributes(IQuickFix[] fixers, String[] fixerIDs)
      Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances of IQuickFix.
      Parameters:
      fixers - An array of quick-fixes instances.
      fixerIDs - An array of static quick-fixer IDs.
      Returns:
      The map used for the problem or marker.
    • findOtherMarkers

      public static org.eclipse.core.resources.IMarker[] findOtherMarkers(IQuickFixer fixer, org.eclipse.core.resources.IMarker[] markers)
      Iterate through the list of supplied markers. Return any that can also have the receiver applied to them.
      Parameters:
      markers - The array of markers.
      Returns:
      IMarker[]
    • getResolutions

      public org.eclipse.ui.IMarkerResolution[] getResolutions(org.eclipse.core.resources.IMarker marker)
      Returns resolutions for the given marker (may be empty). This method is called from Eclipse.
      Specified by:
      getResolutions in interface org.eclipse.ui.IMarkerResolutionGenerator
      Parameters:
      marker - The marker.
      Returns:
      Resolutions for the given marker.
    • hasResolutions

      public boolean hasResolutions(org.eclipse.core.resources.IMarker marker)
      Returns whether there are any resolutions for the given marker.
      Specified by:
      hasResolutions in interface org.eclipse.ui.IMarkerResolutionGenerator2
      Parameters:
      marker - The marker.
      Returns:
      true if there are resolutions for the given marker, false if not.