Package com.iizigo.quickfix
Class QuickFixer
- java.lang.Object
- com.iizigo.quickfix.QuickFixer
- All Implemented Interfaces:
org.eclipse.ui.IMarkerResolutionGenerator
,org.eclipse.ui.IMarkerResolutionGenerator2
public class QuickFixer extends java.lang.Object implements org.eclipse.ui.IMarkerResolutionGenerator2
Class that handles all quick fixes.- Author:
- Christopher Mindus
Field Summary
Fields Modifier and Type Field Description static org.eclipse.core.resources.IMarker[]
EMPTY_MARKERS
Empty array of markers.static org.eclipse.ui.IMarkerResolution[]
EMPTY_RESOLUTIONS
Empty array of marker resolutions.static java.lang.String
ID
The quick fixer ID.
Constructor Summary
Constructors Constructor Description QuickFixer()
Method Summary
All Methods Static Methods Instance Methods Concrete Methods 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 java.lang.String
getMarkerAttribute(java.lang.String... fixerIDs)
Gets a list of quick-fixes for the marker attribute.static java.util.Map<java.lang.String,java.lang.Object>
getMarkerAttributes(IQuickFix[] fixers)
Gets the attributes required for quick-fixes when they consist of a instances ofIQuickFix
.static java.util.Map<java.lang.String,java.lang.Object>
getMarkerAttributes(IQuickFix[] fixers, java.lang.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
.static java.util.Map<java.lang.String,java.lang.Object>
getMarkerAttributes(java.lang.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(java.lang.String fixID, IQuickFixer quickFixer)
Registers a quick fix with an ID.
Field Detail
ID
public static final java.lang.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.
Method Detail
register
public static void register(java.lang.String fixID, IQuickFixer quickFixer)
Registers a quick fix with an ID.- Parameters:
fixID
- The fix ID, unique.quickFixer
- The doer for quick-fixing.- Throws:
java.lang.IllegalArgumentException
- If the fixID is registered.
getMarkerAttribute
public static java.lang.String getMarkerAttribute(java.lang.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 java.util.Map<java.lang.String,java.lang.Object> getMarkerAttributes(java.lang.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
.- Parameters:
fixerIDs
- An array of static quick-fixer IDs.- Returns:
- The map used for the problem or marker.
getMarkerAttributes
public static java.util.Map<java.lang.String,java.lang.Object> getMarkerAttributes(IQuickFix[] fixers)
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
public static java.util.Map<java.lang.String,java.lang.Object> getMarkerAttributes(IQuickFix[] fixers, java.lang.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
.- 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.