<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
 *******************************************************************************
 Copyright (c) 2009 Mia-Software.
 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>
