Class CorrectionEngine


  • public class CorrectionEngine
    extends Object
    This class is the entry point for source corrections. This class is intended to be instantiated by clients.
    Since:
    2.0
    Restriction:
    This class is not intended to be subclassed by clients.
    • Field Detail

      • correctionStart

        protected int correctionStart
        This field is not intended to be used by client.
      • correctionEnd

        protected int correctionEnd
        This field is not intended to be used by client.
      • prefixLength

        protected int prefixLength
        This field is not intended to be used by client.
      • compilationUnit

        protected ICompilationUnit compilationUnit
        This field is not intended to be used by client.
      • correctionRequestor

        protected ICorrectionRequestor correctionRequestor
        This field is not intended to be used by client.
      • CLASSES

        protected static final int CLASSES
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • INTERFACES

        protected static final int INTERFACES
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • IMPORT

        protected static final int IMPORT
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • METHOD

        protected static final int METHOD
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • FIELD

        protected static final int FIELD
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • LOCAL

        protected static final int LOCAL
        This field is not intended to be used by client.
        See Also:
        Constant Field Values
      • filter

        protected int filter
        This field is not intended to be used by client.
      • completionRequestor

        protected CompletionRequestor completionRequestor
        This field is not intended to be used by client.
    • Constructor Detail

      • CorrectionEngine

        public CorrectionEngine​(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:
        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:
        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 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 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 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