<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<!--
 *******************************************************************************
  Copyright (c) 2018-2022 Robert Bosch GmbH and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Public License 2.0
  which accompanies this distribution, and is available at
  https://www.eclipse.org/legal/epl-2.0/
 
     Generated using Eclipse EMF
 
 *******************************************************************************
-->

<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <!-- @generated amalthea -->
      <package
            uri="http://app4mc.eclipse.org/amalthea/2.2.0"
            class="org.eclipse.app4mc.amalthea.model.AmaltheaPackage"
            genModel="model/amalthea.xcore"/>
   </extension>


   <extension point="org.eclipse.core.contenttype.contentTypes">
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
            file-extensions="amxmi"
            id="org.eclipse.app4mc.amalthea.xmi.contentType"
            name="AMALTHEA XMI File"
            priority="normal">
      </content-type>
   </extension>

   <extension point="org.eclipse.emf.ecore.content_parser">
      <parser
            class="org.eclipse.app4mc.amalthea.model.emf.AmaltheaResourceFactory"
            contentTypeIdentifier="org.eclipse.app4mc.amalthea.xmi.contentType">
      </parser>
   </extension>

   <extension
         point="org.eclipse.emf.ecore.extension_parser">
      <parser
            class="org.eclipse.app4mc.amalthea.model.emf.AmaltheaResourceFactory"
            type="amxmi">
      </parser>
   </extension>

</plugin>
