<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
 *******************************************************************************
 Copyright (c) 2009, 2019 Mia-Software 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:
     Sebastien Minguet (Mia-Software) - initial API and implementation
     Frederic Madiot (Mia-Software) - initial API and implementation
     Fabien Giquel (Mia-Software) - initial API and implementation
     Gabriel Barbier (Mia-Software) - initial API and implementation
     Erwan Breton (Sodifrance) - initial API and implementation
 *******************************************************************************

 $Id$
-->


<plugin>
   <extension
         point="org.eclipse.emf.ecore.generated_package">
      <package
            class="org.eclipse.modisco.java.emf.JavaPackage"
            genModel="model/java.genmodel"
            uri="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java">
      </package>
   </extension>
   
   <!-- so that model editors know they can open it -->
   <extension
         point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
            file-extensions="javaxmi"
            id="org.eclipse.modisco.java.contenttype"
            name="%content-type.name"
            priority="normal">
      </content-type>
   </extension>

  <!-- find the contenttype based on the actual content (so that it doesn't depend on the _java.xmi suffix) -->
  <extension point="org.eclipse.core.contenttype.contentTypes">
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="xmi"
           id="org.eclipse.modisco.java.contenttype"
           name="%content-type.name"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://www\.eclipse\.org/MoDisco/Java/0\.2\.incubation/java">
           </parameter>
           <parameter
                 name="kind"
                 value="xmi">
           </parameter>
        </describer>
     </content-type>
  </extension>

</plugin>
