<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.core.runtime">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.core.runtime" id="adapters" name="Adapters"/>
      </appInfo>
      <documentation>
         The adapters extension point allows plug-ins to declaratively register adapter factories.  This information is used to by the 
         runtime XML expression language to determine existence of adapters without causing plug-ins to be loaded.
         Registration of adapter factories via extension point eliminates the need to manually register adapter factories when a plug-in starts up.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="factory" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="factory">
      <complexType>
         <sequence>
            <element ref="adapter" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="adaptableType" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualified name of a class (typically implementing IAdaptable) that this factory provides adapters for.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualified name of the adapter factory class.  Must implement &lt;tt&gt;org.eclipse.core.runtime.IAdapterFactory&lt;/tt&gt;.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.core.runtime.IAdapterFactory"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="adapter">
      <complexType>
         <attribute name="type" type="string" use="required">
            <annotation>
               <documentation>
                  The fully qualified name of a Java class or interface that this factory can adapt to.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         Following is an example of an adapter declaration.  This example declares that this plug-in will provide an adapter factory that will adapt objects of type IFile to objects of type MyFile.
&lt;p&gt;
   &lt;pre&gt;
      &lt;extension point=&quot;org.eclipse.core.runtime.adapters&quot;&gt;
         &lt;factory 
            class=&quot;com.xyz.MyFileAdapterFactory&quot; 
            adaptableType=&quot;org.eclipse.core.resources.IFile&quot;&gt;
            &lt;adapter type=&quot;com.xyz.MyFile&quot;/&gt;
         &lt;/factory&gt;
      &lt;/extension&gt;
   &lt;/pre&gt;
&lt;/p&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         Adapter factories registered using this extension point can be queried using the method 
&lt;code&gt;IAdapterManager.hasAdapter&lt;/code&gt;, or retrieved using one of the &lt;tt&gt;getAdapter&lt;/tt&gt; methods on &lt;tt&gt;IAdapterFactory&lt;/tt&gt;.
An adapter factory registered with this extension point does not need to be registered at runtime using &lt;tt&gt;IAdapterFactory.registerAdapters&lt;/tt&gt;.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         Several plug-ins in the platform provide adapters for a number of different IAdaptable objects.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2004, 2007 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>
