Interface ISharableParticipant

  • public interface ISharableParticipant
    A tagging interface to share a concrete RefactoringParticipant instance across multiple elements to be refactored. Consider the example of moving more than one file: if a corresponding move participant is not tagged as a ISharableParticipant then a separate instance of a participant is created for every file to be moved. If the participant is marked as shared then only one instance is created and the participant is responsible to handle all files to be moved.

    The first element to be refactored will be added to the participant via the participant specific initialize(Object element) method. All subsequent elements will be added via the generic addElement(Object, RefactoringArguments) method. Implementors of this interface can assume that the refactoring arguments passed to the addElement method conform to the participant. For example the arguments are of type MoveArguments if this interface is mixed into a move participant.

    Clients may implement this interface to tag participants as shared.

    See Also:
    • Method Detail

      • addElement

        void addElement​(Object element,
                        RefactoringArguments arguments)
        Adds the given element and argument to the refactoring participant.
        element - the element to add
        arguments - the corresponding arguments