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

<!--
 Copyright (c) 2005, 2008 IBM Corporation, Zeligsoft Inc., 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
   Zeligsoft - Bugs 231435, 248869, 243976, 256040
-->

<plugin>
   <extension-point id="environments" name="%oclenv.point.name" schema="schema/environments.exsd"/>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/ocl/1.1.0/OCL/Types" 
       class = "org.eclipse.ocl.types.TypesPackage"
       genModel = "model/OCL.genmodel" /> 
  </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/ocl/1.1.0/OCL" 
       class = "org.eclipse.ocl.expressions.impl.ExpressionsPackageImpl$OCLPackageImpl"
       genModel = "model/OCL.genmodel" /> 
  </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/ocl/1.1.0/OCL/Expressions" 
       class = "org.eclipse.ocl.expressions.ExpressionsPackage"
       genModel = "model/OCL.genmodel" /> 
  </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/ocl/1.1.0/OCL/Utilities" 
       class = "org.eclipse.ocl.utilities.UtilitiesPackage"
       genModel = "model/OCL.genmodel" /> 
  </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package 
       uri = "http://www.eclipse.org/ocl/1.1.0/OCL/CST" 
       class = "org.eclipse.ocl.cst.CSTPackage"
       genModel = "model/OCLCST.genmodel" /> 
  </extension>

  <extension
        point="org.eclipse.emf.ecore.content_parser">
     <parser
           contentTypeIdentifier="org.eclipse.ocl"
           class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl" />
     <parser
           contentTypeIdentifier="org.eclipse.ocl.ast"
           class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl" />
     <parser
           contentTypeIdentifier="org.eclipse.ocl.cst"
           class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl" />
  </extension>

   <extension point="org.eclipse.core.contenttype.contentTypes">
      <!-- @generated OCLCST -->
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
            file-extensions="cst"
            id="org.eclipse.ocl.cst"
            name="%_UI_CST_content_type"
            priority="normal">
         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
            <parameter name="namespace" value="http://www.eclipse.org/ocl/1.1.0/OCL/CST"/>
            <parameter name="kind" value="xmi"/>
         </describer>
      </content-type>
   </extension>

  <extension
        point="org.eclipse.core.contenttype.contentTypes">
     <content-type
           base-type="org.eclipse.emf.ecore.xmi"
           file-extensions="oclxmi"
           id="org.eclipse.ocl"
           name="%_UI_OCL_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://www\.eclipse\.org/ocl/1\.1\.0/OCL/.*" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.ocl"
           file-extensions="oclxmi"
           id="org.eclipse.ocl.ast"
           name="%_UI_AST_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://www\.eclipse\.org/ocl/1\.1\.0/OCL/(Types|Expressions|Utilities)" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
     <content-type
           base-type="org.eclipse.ocl"
           file-extensions="oclxmi"
           id="org.eclipse.ocl.cst"
           name="%_UI_CST_content_type"
           priority="normal">
        <describer
              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
           <parameter
                 name="namespacePattern"
                 value="http://www\.eclipse\.org/ocl/1\.1\.0/OCL/CST" />
           <parameter
                 name="kind"
                 value="xmi" />
        </describer>
     </content-type>
  </extension>
  <extension
        point="org.eclipse.team.core.fileTypes">
     <fileTypes
           extension="oclxmi"
           type="text">
     </fileTypes>
  </extension>
   <extension point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.ocl.internal.PreferenceInitializer"/>
   </extension>

</plugin>
