org.eclipse.jdt.core
Class CorrectionEngine

java.lang.Object
  extended by org.eclipse.jdt.core.CorrectionEngine
All Implemented Interfaces:
ProblemReasons

public class CorrectionEngine
extends java.lang.Object
implements ProblemReasons

This class is the entry point for source corrections. This class is intended to be instantiated by clients.

Since:
2.0

Field Summary
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.lookup.ProblemReasons
Ambiguous, IllegalSuperTypeVariable, InheritedNameHidesEnclosingName, InternalNameProvided, InvalidTypeForStaticImport, NoError, NonStaticReferenceInConstructorInvocation, NonStaticReferenceInStaticContext, NotFound, NotVisible, ParameterBoundMismatch, ParameterizedMethodTypeMismatch, ReceiverTypeNotVisible, TypeArgumentsForRawGenericMethod, TypeParameterArityMismatch
 
Constructor Summary
CorrectionEngine(java.util.Map setting)
          The CorrectionEngine is responsible for computing problem corrections.
 
Method Summary
 void computeCorrections(IMarker marker, ICompilationUnit targetUnit, int positionOffset, ICorrectionRequestor requestor)
          Performs code correction for the given marker, reporting results to the given correction requestor.
 void computeCorrections(IProblem problem, ICompilationUnit targetUnit, ICorrectionRequestor requestor)
          Performs code correction for the given IProblem, reporting results to the given correction requestor.
static java.lang.String[] getAllWarningTokens()
          Return an array of strings which contains one entry per warning token accepted by the @SuppressWarnings annotation.
static java.lang.String[] getProblemArguments(IMarker problemMarker)
          Helper method for decoding problem marker attributes.
static java.lang.String getWarningToken(int problemID)
          Returns a token which can be used to suppress a given warning using @SuppressWarnings annotation, for a given problem ID (IProblem).
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CorrectionEngine

public CorrectionEngine(java.util.Map setting)
The CorrectionEngine is responsible for computing problem corrections.

Parameters:
setting - java.util.Map set of options used to configure the code correction engine. CURRENTLY THERE IS NO CORRECTION SPECIFIC SETTINGS.
Method Detail

computeCorrections

public void computeCorrections(IMarker marker,
                               ICompilationUnit targetUnit,
                               int positionOffset,
                               ICorrectionRequestor requestor)
                        throws JavaModelException
Performs code correction for the given marker, reporting results to the given correction requestor. Correction results are answered through a requestor.

Parameters:
marker - the marker which describe the problem to correct.
targetUnit - replace the compilation unit given by the marker. Ignored if null.
positionOffset - the offset of position given by the marker.
requestor - the given correction requestor
Throws:
java.lang.IllegalArgumentException - if requestor is null
JavaModelException - currently this exception is never thrown, but the opportunity to thrown an exception when the correction failed is kept for later.
Since:
2.0

computeCorrections

public void computeCorrections(IProblem problem,
                               ICompilationUnit targetUnit,
                               ICorrectionRequestor requestor)
                        throws JavaModelException
Performs code correction for the given IProblem, reporting results to the given correction requestor. Correction results are answered through a requestor.

Parameters:
problem - the problem which describe the problem to correct.
targetUnit - denote the compilation unit in which correction occurs. Cannot be null.
requestor - the given correction requestor
Throws:
java.lang.IllegalArgumentException - if targetUnit or requestor is null
JavaModelException - currently this exception is never thrown, but the opportunity to thrown an exception when the correction failed is kept for later.
Since:
2.0

getAllWarningTokens

public static java.lang.String[] getAllWarningTokens()
Return an array of strings which contains one entry per warning token accepted by the @SuppressWarnings annotation. This array is neither null nor empty, it contains at least the String all. It should not be modified by the caller (please take a copy if modifications are needed).
Note: The tokens returned are not necessarily standardized across Java compilers. If you were to use one of these tokens in a @SuppressWarnings annotation in the Java source code, the effects (if any) may vary from compiler to compiler.

Returns:
an array of strings which contains one entry per warning token accepted by the @SuppressWarnings annotation.
Since:
3.2

getProblemArguments

public static java.lang.String[] getProblemArguments(IMarker problemMarker)
Helper method for decoding problem marker attributes. Returns an array of String arguments extracted from the problem marker "arguments" attribute, or null if the marker "arguments" attribute is missing or ill-formed.

Parameters:
problemMarker - the problem marker to decode arguments from.
Returns:
an array of String arguments, or null if unable to extract arguments
Since:
2.1

getWarningToken

public static java.lang.String getWarningToken(int problemID)
Returns a token which can be used to suppress a given warning using @SuppressWarnings annotation, for a given problem ID (IProblem). If a particular problem is not suppressable, null will be returned.

Note: @SuppressWarnings can only suppress warnings, which means that if some problems got promoted to ERROR using custom compiler settings (IJavaProject.setOption(String, String)), the @SuppressWarnings annotation will be ineffective.

Note: @SuppressWarnings can be argumented with "all" so as to suppress all possible warnings at once.

Note: The tokens returned are not necessarily standardized across Java compilers. If you were to use one of these tokens in an @SuppressWarnings annotation in the Java source code, the effects (if any) may vary from compiler to compiler.

Parameters:
problemID - the ID of a given warning to suppress
Returns:
a String which can be used in @SuppressWarnings annotation, or null if unable to suppress this warning.
Since:
3.1