#
Delete Participants

###### Identifier:

org.eclipse.ltk.core.refactoring.deleteParticipants

###### Since:

3.0

###### Description:

This extension point is used to define refactoring delete participants. The reader of the expression provides the following predefined variables which can be referenced via the <with variable="..."> expression element:

- Object element: the element to be deleted
- List<String> affectedNatures: a list containing the natures of the projects affected by the refactoring
- String processorId: the id of the refactoring processor that will own the participant.

The default variable used during expression evaluation is bound to the element variable.

###### Configuration Markup:

<!ELEMENT extension (deleteParticipant*)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT deleteParticipant (enablement)>

<!ATTLIST deleteParticipant

id CDATA #REQUIRED

name CDATA #REQUIRED

class CDATA #REQUIRED>

- id - unique identifier for the delete participant.
- name - a human reabable name of the delete participant
- class - the name of the class that provides the participant implementation.

###### Examples:

The example below defines a delete participant. The participant is enabled if one of the project affected by the refactoring has a Java nature and when the element to be deleted is of type ICompilationUnit.

    <deleteParticipant
        id="org.myCompany.deleteParticipant"
        name="%DeleteParticipant.name"
        class="org.myCompany.Participant">
        <enablement>
          <with variable="affectedNatures">
            <iterate operator="or">
              <equals value="org.eclipse.jdt.core.javanature"/>
            </iterate>
          </with>
          <with variable="element">
            <instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
          </with>
        </enablement>
    </deleteParticipant>

###### API Information:

The contributed class must extend `org.eclipse.ltk.core.refactoring.participants.DeleteParticipant`

Copyright (c) 2001, 2004 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html