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

<!--
 <copyright>
 </copyright>

 $Id: plugin.xml,v 1.3 2011/01/30 11:18:07 ewillink Exp $
-->

<plugin>
   <extension-point id="standard_library" name="org.eclipse.ocl.examples.pivot.standard_library" schema="schema/standard_library.exsd"/>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/ocl/3.1.0/Pivot"
            class="org.eclipse.ocl.examples.pivot.PivotPackage"
            genModel="model/Pivot.merged.genmodel"/>
   </extension>

  <extension point="org.eclipse.team.core.fileTypes">
    <fileTypes extension="oclas" type="text" />
  </extension>

   <extension point="org.eclipse.emf.ecore.extension_parser">
      <parser type="oclas"
            class="org.eclipse.ocl.examples.pivot.resource.OCLASResourceFactory"/>
   </extension>

   <extension point="org.eclipse.emf.ecore.content_parser">
      <!-- @generated Pivot.merged NOT-->
      <!--parser
            contentTypeIdentifier="org.eclipse.ocl.examples.oclas"
            class="org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl"/-->
      <parser
            contentTypeIdentifier="org.eclipse.ocl.examples.oclas"
            class="org.eclipse.ocl.examples.pivot.resource.OCLASResourceFactory"/>
      <!--parser
            contentTypeIdentifier="org.eclipse.ocl.examples.pivot.ecore"
            class="org.eclipse.ocl.examples.pivot.ecore.EcoreASResourceFactory"/>
      <parser
            contentTypeIdentifier="org.eclipse.ocl.examples.pivot.uml"
            class="org.eclipse.ocl.examples.pivot.uml.UMLASResourceFactory"/-->
   </extension>

   <extension point="org.eclipse.core.contenttype.contentTypes">
      <!-- @generated Pivot.merged -->
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
            file-extensions="oclas"
            id="org.eclipse.ocl.examples.oclas"
            name="%_UI_Pivot_content_type"
            priority="normal">
         <describer class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
            <parameter name="namespace" value="http://www.eclipse.org/ocl/3.1.0/Pivot"/>
            <parameter name="kind" value="xmi"/>
         </describer>
      </content-type>
   </extension>

  <extension point = "org.eclipse.emf.ecore.validation_delegate">
    <delegate uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"
       class = "org.eclipse.ocl.examples.pivot.delegate.OCLValidationDelegateFactory$Global" />
  </extension>

  <extension point = "org.eclipse.emf.ecore.setting_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"
       class = "org.eclipse.ocl.examples.pivot.delegate.OCLSettingDelegateFactory$Global" />
  </extension>

  <extension point = "org.eclipse.emf.ecore.invocation_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"
       class = "org.eclipse.ocl.examples.pivot.delegate.OCLInvocationDelegateFactory$Global" />
  </extension>
 
  <extension point = "org.eclipse.emf.ecore.query_delegate">
    <factory uri = "http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"
       class = "org.eclipse.ocl.examples.pivot.delegate.OCLQueryDelegateFactory$Global" />
  </extension>

   <extension point="org.eclipse.ocl.examples.pivot.standard_library"
         id="ocl_stdlib" name="OCL Stdlib">
     <library uri="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib"
     	class="org.eclipse.ocl.examples.pivot.model.OCLstdlib$Loader"/>
   </extension>

   <extension point="org.eclipse.ocl.examples.pivot.standard_library"
         id="ocl_stdlib" name="OCL Stdlib">
     <library uri="http://www.eclipse.org/ocl/3.2.0/OCL.oclstdlib"
     	class="org.eclipse.ocl.examples.pivot.model.OCLstdlib$Loader"/>
   </extension>

   <extension point="org.eclipse.emf.validation.constraintProviders"
         id="org.eclipse.ocl.examples.xtext.completeocl.validation.provider">
      <category id="org.eclipse.ocl.examples.pivot.validation.UMLProfile"
            name="UML Profiles">
         Constraints determined by analyzing UML Profiles
      </category>
  </extension>

   <extension point="org.eclipse.emf.validation.constraintParsers">
      <constraintParser lang="Path"
            class="org.eclipse.ocl.examples.pivot.validation.PathConstraintParser"/>
   </extension>
   
   <extension point="org.eclipse.emf.validation.traversal">
      <traversalStrategy
            class="org.eclipse.ocl.examples.pivot.uml.UMLTraversalStrategy"
            namespaceUri="http://www.eclipse.org/uml2/4.0.0/UML">
         <eclass name="Model"/>
      </traversalStrategy>
   </extension>
  
   <extension point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.ocl.examples.pivot.options.OCLinEcorePreferenceInitializer"/>
   </extension>

</plugin>
