public interface ISharableParticipantA tagging interface to share a concrete
RefactoringParticipantinstance 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
ISharableParticipantthen 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
addElementmethod conform to the participant. For example the arguments are of type
MoveArgumentsif this interface is mixed into a move participant.
Clients may implement this interface to tag participants as shared.
- See Also: