<%@ jet package="org.eclipse.emf.codegen.ecore.templates.model" imports="java.util.* org.eclipse.emf.codegen.ecore.genmodel.*" class="PluginXML"%>
<%
/**
 * Copyright (c) 2002-2005 IBM Corporation and others.
 * 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
 * http://www.eclipse.org/legal/epl-v20.html
 * 
 * Contributors: 
 *   IBM - Initial API and implementation
 */
%>
<%GenModel genModel = (GenModel)argument; String key = genModel.getPluginKey(); boolean hasKey = key != null && !key.equals(""); /* Trick to import java.util.* without warnings */Iterator.class.getName();%>
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<%@ include file="../Header.xmljetinc"%>

<%if (genModel.isBundleManifest()) {%>
<plugin>
<%} else {%>
<plugin
      name="%pluginName"
      id="<%=genModel.getModelPluginID()%>"
      version="1.0.0"
  <%if (genModel.hasModelPluginClass()) { %>
      provider-name="%providerName"
      class="<%=genModel.getQualifiedModelPluginClassName()%>$Implementation">
  <%} else {%>
      provider-name="%providerName">
  <%}%>

   <requires>
  <%for (String pluginID : genModel.getModelRequiredPlugins()) {%>
      <import plugin="<%=pluginID%>"<%if (!pluginID.startsWith("org.eclipse.core.runtime")) {%> export="true"<%}%>/>
  <%}%>
   </requires>

   <runtime>
  <%if (genModel.isRuntimeJar()) {%>
      <library name="<%=genModel.getModelPluginID()%>.jar">
  <%} else {%>
      <library name=".">
  <%}%>
         <export name="*"/>
      </library>
   </runtime>
<%}%>
<%for (GenPackage genPackage : genModel.getAllGenPackagesWithClassifiers()) {%>

   <extension point="org.eclipse.emf.ecore.generated_package">
  <%if (hasKey) {%>
      <!-- @generated <%=key%> -->
  <%}%>
      <package
            uri="<%=genPackage.getNSURI()%>"
  <%if (genModel.hasLocalGenModel()) {%>
            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"
            genModel="<%=genModel.getRelativeGenModelLocation()%>"/>
  <%} else {%>
            class="<%=genPackage.getQualifiedPackageInterfaceName()%>"/>
  <%}%>
   </extension>
  <%if (genPackage.isContentType()) {%>

   <extension point="org.eclipse.emf.ecore.content_parser">
  <%if (hasKey) {%>
      <!-- @generated <%=key%> -->
  <%}%>
      <parser
            contentTypeIdentifier="<%=genPackage.getContentTypeIdentifier()%>"
            class="<%=genPackage.getQualifiedEffectiveResourceFactoryClassName()%>"/>
   </extension>

   <extension point="org.eclipse.core.contenttype.contentTypes">
  <%if (hasKey) {%>
      <!-- @generated <%=key%> -->
  <%}%>
      <content-type
            base-type="<%=genPackage.isXMIResource() ? "org.eclipse.emf.ecore.xmi" : "org.eclipse.core.runtime.xml"%>"
            file-extensions="<%=genPackage.getFileExtensions()%>"
            id="<%=genPackage.getContentTypeIdentifier()%>"
            name="%_UI_<%=genPackage.getPrefix()%>_content_type"
            priority="normal">
         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
    <%if (genPackage.hasTargetNamespace()) {%>
            <parameter name="namespace" value="<%=genPackage.getNSURI()%>"/>
    <%}%>
    <%if (genPackage.isXMIResource()) {%>
            <parameter name="kind" value="xmi"/>
    <%}%>
         </describer>
      </content-type>
   </extension>
  <%} else if (genPackage.getResource() != GenResourceKind.NONE_LITERAL) {%>

   <extension point="org.eclipse.emf.ecore.extension_parser">
    <%if (hasKey) {%>
      <!-- @generated <%=key%> -->
    <%}%>
    <%for (String fileExtension : genPackage.getFileExtensionList()) {%>
      <parser
            type="<%=fileExtension%>"
            class="<%=genPackage.getQualifiedResourceFactoryClassName()%>"/>
    <%}%>
   </extension>
  <%}%>
<%}%>

</plugin>
