Package com.iizigo.quickfix
Class QuickFixer
java.lang.Object
com.iizigo.quickfix.QuickFixer
- All Implemented Interfaces:
org.eclipse.ui.IMarkerResolutionGenerator
,org.eclipse.ui.IMarkerResolutionGenerator2
Class that handles all quick fixes.
- Author:
- Christopher Mindus
Field Summary
Modifier and TypeFieldDescriptionstatic 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
Method Summary
Modifier and TypeMethodDescriptionstatic org.eclipse.core.resources.IMarker[]
findOtherMarkers
(IQuickFixer fixer, org.eclipse.core.resources.IMarker[] markers) Iterate through the list of supplied markers.static String
getMarkerAttribute
(String... fixerIDs) Gets a list of quick-fixes for the marker attribute.getMarkerAttributes
(IQuickFix[] fixers) Gets the attributes required for quick-fixes when they consist of a instances ofIQuickFix
.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 ofIQuickFix
.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 ofIQuickFix
.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.
Field Details
ID
The quick fixer ID.EMPTY_MARKERS
public static final org.eclipse.core.resources.IMarker[] EMPTY_MARKERSEmpty array of markers.EMPTY_RESOLUTIONS
public static final org.eclipse.ui.IMarkerResolution[] EMPTY_RESOLUTIONSEmpty array of marker resolutions.
Constructor Details
QuickFixer
public QuickFixer()
Method Details
register
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
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
Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances ofIQuickFix
.- Parameters:
fixerIDs
- An array of static quick-fixer IDs.- Returns:
- The map used for the problem or marker.
getMarkerAttributes
Gets the attributes required for quick-fixes when they consist of a instances ofIQuickFix
.- Parameters:
fixers
- An array of quick-fixes instances.- Returns:
- The map used for the problem or marker.
getMarkerAttributes
Gets the attributes required for quick-fixes when they consist of a combination of "static quick-fixes" using String IDs and instances ofIQuickFix
.- 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 interfaceorg.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 interfaceorg.eclipse.ui.IMarkerResolutionGenerator2
- Parameters:
marker
- The marker.- Returns:
true
if there are resolutions for the given marker,false
if not.