<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.jst.j2ee.ejb.annotation.model">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.jst.j2ee.ejb.annotation.model" id="ejbGenerator" name="EJB Generator"/>
      </appInfo>
      <documentation>
         This extension permits definitions for new types of EJB generators.  An example of such a generator is XDoclet.  There can be other types of generators that can be associated with EJB wizards.  Currently this is not selectabled via the UI.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="ejbGenerator"/>
            <element ref="provider"/>
         </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>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="ejbGenerator">
      <annotation>
         <documentation>
            Using this extension point an EJB generator can generate annotated Java from EMF models. This extension point is invoked from the EJB wizards.  The provider and generator are linked by the &quot;id&quot;. i.e. They should both have the same id (e.g. XDoclet). There can be many provider-generator sets.

         </documentation>
      </annotation>
      <complexType>
         <sequence>
         </sequence>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  The name of the generator.
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  A class that implements &lt;code&gt;org.eclipse.jst.j2ee.ejb.annotation.internal.provider.IEJBGenerator&lt;/code&gt;.
               </documentation>
               <appInfo>
                  <meta.attribute kind="java"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="provider">
      <annotation>
         <documentation>
            Using this extension point clients can define an annotation generator. (i.e. appear in wizards that generate EJBs and Servlets to generate annotated Java code from a model.) The processor can be selective about the types annotation it generates (servlet/EJB/WebService), and it should be return whether is ready to generate code or not (isValid).  Typically the generator may need an installation step.  isValid is used to confirm whether this took place or not.  The name may appear as a user selectable option in wizards.

         </documentation>
      </annotation>
      <complexType>
         <attribute name="name" type="string" use="required">
            <annotation>
               <documentation>
                  The name of the provider.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  A class that implements &lt;code&gt;org.eclipse.jst.j2ee.ejb.annotation.internal.provider.IAnnotationProvider&lt;/code&gt;.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         &lt;b&gt;This extension point is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.&lt;/b&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         &lt;pre&gt;
   &lt;extension
         point=&quot;org.eclipse.jst.j2ee.ejb.annotation.model.ejbGenerator&quot;&gt;
      &lt;provider 
            name=&quot;XDoclet&quot; 
            class=&quot;org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.provider.XDocletAnnotationProvider&quot; /&gt;
      &lt;ejbGenerator 
            name=&quot;XDoclet&quot; 
            class=&quot;org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.provider.XDocletAnnotationProvider&quot; /&gt;
   &lt;/extension&gt;
&lt;/pre&gt;
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         The ejb generator class must implement the &lt;code&gt;org.eclipse.jst.j2ee.ejb.annotation.internal.provider.IEJBGenerator&lt;/code&gt;.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         &lt;code&gt;org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.provider.XDocletAnnotationProvider&lt;/code&gt; provides an implementation for XDoclet.
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         Copyright (c) 2005 Eteration A.S. 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 v1.0 which accompanies 
this distribution, and is available at &lt;a
href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
      </documentation>
   </annotation>

</schema>
