<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jdt.core.manipulation" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.jdt.core.manipulation" id="changeMethodSignatureParticipants" name="Change Method Signature Participants"/>
      </appInfo>
      <documentation>
         This extension point is used to define change method signature refactoring participants.

&lt;p&gt;
This extension point supports the &lt;code&gt;&amp;lt;enablement&amp;gt;&lt;/code&gt; element.
&lt;!-- see org.eclipse.ltk.core.refactoring.participants.ParticipantExtensionPoint#createEvaluationContext(..): --&gt;
The default variable is the &lt;code&gt;org.eclipse.jdt.core.IMethod&lt;/code&gt; to be changed.
&lt;br&gt;Defined variables for &lt;code&gt;&amp;lt;with&amp;gt;&lt;/code&gt; expressions are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;element&quot;: type &lt;code&gt;org.eclipse.jdt.core.IMethod&lt;/code&gt;; the method to be changed (same as the default variable)&lt;/li&gt;
&lt;li&gt;&quot;affectedNatures&quot;: type &lt;code&gt;java.util.List&amp;lt;String&amp;gt;&lt;/code&gt;; the natures of all projects affected by the refactoring&lt;/li&gt;
&lt;li&gt;&quot;processorIdentifier&quot;: type &lt;code&gt;java.lang.String&lt;/code&gt;; the id of the refactoring processor that will own the participant&lt;/li&gt;
&lt;/ul&gt;
      </documentation>
   </annotation>

   <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>

   <element name="extension">
      <annotation>
         <appInfo>
            <meta.element />
         </appInfo>
      </annotation>
      <complexType>
         <sequence>
            <element ref="changeMethodSignatureParticipant" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  a fully qualified identifier of the target extension point
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  an optional identifier of the extension instance
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  an optional name of the extension instance
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="changeMethodSignatureParticipant">
      <complexType>
         <sequence>
            <element ref="enablement" minOccurs="0" maxOccurs="1"/>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  unique identifier for the change method signature participant.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  a human reabable name of the change method signature participant
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  the name of the class that provides the participant implementation. Must extend &lt;code&gt;org.eclipse.jdt.core.refactoring.participants.ChangeMethodSignatureParticipant&lt;/code&gt;
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.jdt.core.refactoring.participants.ChangeMethodSignatureParticipant:"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         3.4
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         The example below defines a change method signature participant.
The participant is enabled if one of the project affected by the refactoring has a
Java nature and when the method to be changed is in a JUnit test.

&lt;pre&gt;
&lt;changeMethodSignatureParticipant
    id=&quot;org.eclipse.example.myChangeMethodSignatureParticipant&quot;
    name=&quot;My Change Method Signature Participant&quot; 
    class=&quot;org.eclipse.example.MyChangeMethodSignatureParticipant&quot;&gt;
    &lt;enablement&gt;
      &lt;with variable=&quot;affectedNatures&quot;&gt;
        &lt;iterate operator=&quot;or&quot;&gt;
          &lt;equals value=&quot;org.eclipse.jdt.core.javanature&quot;/&gt;
        &lt;/iterate&gt;
      &lt;/with&gt;
      &lt;with variable=&quot;element&quot;&gt;
        &lt;instanceof value=&quot;org.eclipse.jdt.core.IType&quot;/&gt;
        &lt;test property=&quot;org.eclipse.jdt.junit.isTest&quot;/&gt;
      &lt;/with&gt;
    &lt;/enablement&gt;
&lt;/changeMethodSignatureParticipant&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The contributed class must extend &lt;code&gt;org.eclipse.jdt.core.refactoring.participants.ChangeMethodSignatureParticipant&lt;/code&gt;
      </documentation>
   </annotation>


   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2007, 2013 IBM Corporation and others.&lt;br&gt;

This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at &lt;a href=&quot;https://www.eclipse.org/legal/epl-2.0&quot;&gt;https://www.eclipse.org/legal/epl-v20.html&lt;/a&gt;/

SPDX-License-Identifier: EPL-2.0
      </documentation>
   </annotation>

</schema>
