Class CUCorrectionProposalCore

    • Constructor Detail

      • CUCorrectionProposalCore

        public CUCorrectionProposalCore​(ICUCorrectionProposal proposal,
                                        String name,
                                        ICompilationUnit cu,
                                        TextChange change,
                                        int relevance)
        Constructs a correction proposal working on a compilation unit with a given text change.
        Parameters:
        proposal - ICUCorrectionProposal to use
        name - the name that is displayed in the proposal selection dialog
        cu - the compilation unit to which the change can be applied
        change - the change that is executed when the proposal is applied or null if implementors override addEdits(IDocument, TextEdit) to provide the text edits or createTextChange() to provide a text change
        relevance - the relevance of this proposal
      • CUCorrectionProposalCore

        public CUCorrectionProposalCore​(String name,
                                        ICompilationUnit cu,
                                        TextChange change,
                                        int relevance)
        Constructs a correction proposal working on a compilation unit with a given text change.
        Parameters:
        name - the name that is displayed in the proposal selection dialog
        cu - the compilation unit to which the change can be applied
        change - the change that is executed when the proposal is applied or null if implementors override addEdits(IDocument, TextEdit) to provide the text edits or createTextChange() to provide a text change
        relevance - the relevance of this proposal
      • CUCorrectionProposalCore

        protected CUCorrectionProposalCore​(String name,
                                           ICompilationUnit cu,
                                           int relevance)
        Constructs a correction proposal working on a compilation unit.

        Users have to override addEdits(IDocument, TextEdit) to provide the text edits or createTextChange() to provide a text change.

        Parameters:
        name - the name that is displayed in the proposal selection dialog
        cu - the compilation unit on that the change works
        relevance - the relevance of this proposal
    • Method Detail

      • addEdits

        protected void addEdits​(IDocument document,
                                TextEdit editRoot)
                         throws CoreException
        Called when the CompilationUnitChange is initialized. Subclasses can override to add text edits to the root edit of the change. Implementors must not access the proposal, e.g. not call ChangeCorrectionProposalCore.getChange().

        The default implementation does not add any edits

        Parameters:
        document - content of the underlying compilation unit. To be accessed read only.
        editRoot - The root edit to add all edits to
        Throws:
        CoreException - can be thrown if adding the edits is failing.
      • createTextChange

        public TextChange createTextChange()
                                    throws CoreException
        Creates the text change for this proposal. This method is only called once and only when no text change has been passed in {see #CUCorrectionProposal(String, ICompilationUnit, TextChange, int, Image)}.
        Returns:
        the created text change
        Throws:
        CoreException - if the creation of the text change failed
      • getCompilationUnit

        public ICompilationUnit getCompilationUnit()
        The compilation unit on which the change works.
        Returns:
        the compilation unit on which the change works
      • getPreviewContent

        public String getPreviewContent()
                                 throws CoreException
        Creates a preview of the content of the compilation unit after applying the change.
        Returns:
        the preview of the changed compilation unit
        Throws:
        CoreException - if the creation of the change failed
        Restriction:
        This method is not intended to be referenced by clients.