<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.common.project.facet.core">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.common.project.facet.core" id="listeners" name="Faceted Project Listeners Extension Point"/>
      </appInfo>
      <documentation>
         This extension point allows for registration of listeners that will be notified of changes to the metadata of faceted projects. The following event types are supported: 

&lt;p&gt;
&lt;code&gt;
PROJECT_MODIFIED&lt;br/&gt;
PRE_INSTALL&lt;br/&gt;
POST_INSTALL&lt;br/&gt;
PRE_UNINSTALL&lt;br/&gt;
POST_UNINSTALL&lt;br/&gt;
PRE_VERSION_CHANGE&lt;br/&gt;
POST_VERSION_CHANGE&lt;br/&gt;
FIXED_FACETS_CHANGED&lt;br/&gt;
TARGETED_RUNTIMES_CHANGED&lt;br/&gt;
PRIMARY_RUNTIME_CHANGED
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;See the documentation for &lt;code&gt;org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent.Type&lt;/code&gt; enum for more details about each event type.&lt;/p&gt;

&lt;p&gt;It is also possible to register listeners in code using either &lt;code&gt;FacetedProjectFramework.addListener()&lt;/code&gt; or &lt;code&gt;IFacetedProject.addListener()&lt;/code&gt; methods.&lt;/p&gt;
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="listener" 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="listener">
      <annotation>
         <documentation>
            Registers one listener.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The listener class.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java" basedOn="org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="eventTypes" type="string">
            <annotation>
               <documentation>
                  A comma-separated list of event types that the listener should be notified about.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

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

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
&lt;extension point=&quot;org.eclipse.wst.common.project.facet.core.listeners&quot;&gt;
  &lt;!-- Listen to all events. --&gt;
  &lt;listener class=&quot;com.mycompany.myproduct.MyListener1&quot;/&gt;
  &lt;!-- Listen to specific events. --&gt;
  &lt;listener class=&quot;com.mycompany.myproduct.MyListener2&quot; eventTypes=&quot;PROJECT_MODIFIED&quot;/&gt;
  &lt;listener class=&quot;com.mycompany.myproduct.MyListener2&quot; eventTypes=&quot;PRE_INSTALL,FIXED_FACETS_CHANGED&quot;/&gt;
&lt;/extension&gt;
      </documentation>
   </annotation>

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

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

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2010 Oracle and others.&lt;br&gt;
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v2.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-2.0/
&lt;/a&gt;.
      </documentation>
   </annotation>

</schema>
