Class AbstractExternalQuickfixProvider.ExternalQuickfixModification<E extends org.eclipse.emf.ecore.EObject>

  • Type Parameters:
    E - type of model object is contained in Issue
    All Implemented Interfaces:
    org.eclipse.xtext.ui.editor.model.edit.IModification
    Enclosing class:
    AbstractExternalQuickfixProvider

    protected static class AbstractExternalQuickfixProvider.ExternalQuickfixModification<E extends org.eclipse.emf.ecore.EObject>
    extends Object
    implements org.eclipse.xtext.ui.editor.model.edit.IModification
    Implementation of IModification for creating and applying quickfix text changes.
    • Field Summary

      • Fields inherited from interface org.eclipse.xtext.ui.editor.model.edit.IModification

        NULL
    • Constructor Summary

      Constructors 
      Constructor Description
      ExternalQuickfixModification​(org.eclipse.xtext.validation.Issue issue, Class<E> clazz, com.google.common.base.Function<E,​org.eclipse.text.edits.TextEdit> function)
      Constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void apply​(org.eclipse.xtext.ui.editor.model.edit.IModificationContext context)  
      protected org.eclipse.text.edits.TextEdit createChanges​(org.eclipse.xtext.ui.editor.model.IXtextDocument document, org.eclipse.xtext.validation.Issue issue, Class<E> clazz, com.google.common.base.Function<E,​org.eclipse.text.edits.TextEdit> function)
      Creates quickfix changes
      protected org.eclipse.xtext.ui.editor.model.IXtextDocument getActualDocument​(org.eclipse.xtext.ui.editor.model.edit.IModificationContext context)
      Gets actual IXtextDocument from IModificationContext
    • Constructor Detail

      • ExternalQuickfixModification

        public ExternalQuickfixModification​(org.eclipse.xtext.validation.Issue issue,
                                            Class<E> clazz,
                                            com.google.common.base.Function<E,​org.eclipse.text.edits.TextEdit> function)
        Constructor
        Parameters:
        issue - processing validation Issue, can't be null
        clazz - Class of the Built-in object corresponding to validation Issue, can't be null
        function - special Function that contains logic about creating TextEdit changes corresponding to quickfix, can't be null
    • Method Detail

      • apply

        public void apply​(org.eclipse.xtext.ui.editor.model.edit.IModificationContext context)
                   throws Exception
        Specified by:
        apply in interface org.eclipse.xtext.ui.editor.model.edit.IModification
        Throws:
        Exception
      • createChanges

        protected org.eclipse.text.edits.TextEdit createChanges​(org.eclipse.xtext.ui.editor.model.IXtextDocument document,
                                                                org.eclipse.xtext.validation.Issue issue,
                                                                Class<E> clazz,
                                                                com.google.common.base.Function<E,​org.eclipse.text.edits.TextEdit> function)
        Creates quickfix changes
        Parameters:
        document - actual IXtextDocument, creating text changes will be applied to it, can't be null
        issue - processing validation Issue, can't be null
        clazz - Class of the Built-in object corresponding to validation Issue, can't be null
        function - special Function that contains logic about creating TextEdit changes corresponding to quickfix, can't be null
        Returns:
        Created TextEdit quickfix changes, can be null in some cases:
        • object contained in Issue isn't instanceof clazz
        • function return null
      • getActualDocument

        protected org.eclipse.xtext.ui.editor.model.IXtextDocument getActualDocument​(org.eclipse.xtext.ui.editor.model.edit.IModificationContext context)
        Gets actual IXtextDocument from IModificationContext
        Parameters:
        context - actual IModificationContext of quickfix, can't be null
        Returns:
        IXtextDocument from IModificationContext or null it there is no implementation of IXtextDocument for this IModificationContext