<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
  Copyright (c) 2007, 2008 THALES GLOBAL SERVICES
  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/

  SPDX-License-Identifier: EPL-2.0

  Contributors:
       Obeo - Initial API and implementation
-->

<plugin>
  <extension point="org.eclipse.emf.ecore.generated_package">
    <package
        uri = "http://www.eclipse.org/sirius/diagram/sequence/2.0.0"
        class = "org.eclipse.sirius.diagram.sequence.SequencePackage"
        genModel = "model/sequence.genmodel" />
  </extension>
  
  <extension point="org.eclipse.emf.ecore.generated_package">
    <package
        uri = "http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0"
        class = "org.eclipse.sirius.diagram.sequence.description.DescriptionPackage"
        genModel = "model/sequence.genmodel" />
  </extension>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <!-- @generated sequence -->
      <package
            uri="http://www.eclipse.org/sirius/diagram/sequence/description/tool/2.0.0"
            class="org.eclipse.sirius.diagram.sequence.description.tool.ToolPackage"
            genModel="model/sequence.genmodel"/>
   </extension>

  <extension point="org.eclipse.emf.ecore.generated_package">
    <package
        uri = "http://www.eclipse.org/sirius/diagram/sequence/ordering/2.0.0"
        class = "org.eclipse.sirius.diagram.sequence.ordering.OrderingPackage"
        genModel = "model/sequence.genmodel" />
  </extension>
  
  <extension point="org.eclipse.emf.ecore.generated_package">
    <package
        uri = "http://www.eclipse.org/sirius/diagram/sequence/template/2.0.0"
        class = "org.eclipse.sirius.diagram.sequence.template.TemplatePackage"
        genModel = "model/sequence.genmodel" />
  </extension>
  
  <extension
        point="org.eclipse.sirius.refreshExtensionProvider">
     <refreshExtensionProvider
           priority="normal"
           providerClass="org.eclipse.sirius.diagram.sequence.business.internal.refresh.SequenceRefreshExtensionProvider">
     </refreshExtensionProvider>
  </extension>
  <extension
        point="org.eclipse.sirius.repairParticipant">
     <repairParticipant
           class="org.eclipse.sirius.diagram.sequence.tool.internal.action.repair.SequenceDiagramRepairParticipant">
     </repairParticipant>
  </extension>
  <extension
        point="org.eclipse.sirius.mmdescriptor">
     <descriptorprovider
           class="org.eclipse.sirius.diagram.sequence.business.internal.metamodel.SequenceDiagramMetamodelsProvider">
     </descriptorprovider>
  </extension>
  <extension
        point="org.eclipse.emf.validation.constraintProviders">
     <category
           id="org.eclipse.sirius.diagram.constraints"
           name="%category.siriusSequenceDiagramConstraints.name">
     </category>
     <constraintProvider
           cache="true"
           mode="Batch">
        <package
              namespaceUri="http://www.eclipse.org/sirius/diagram/description/1.1.0">
        </package>
        <constraints
              categories="http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0">
        </constraints>
        <constraints
              categories="org.eclipse.sirius.diagram.constraints">
           <constraint
                 class="org.eclipse.sirius.diagram.sequence.tool.internal.validation.description.constraints.SequenceContainerMappingChildrenPresentationConstraints"
                 id="org.eclipse.sirius.diagram.sequence.NoSequenceContainerRegionChildrenPresentation"
                 lang="Java"
                 mode="Batch"
                 name="%constraint.noSequenceContainerRegionChildrenPresentation.name"
                 severity="ERROR"
                 statusCode="1">
              <message>
                 %constraint.noSequenceContainerRegionChildrenPresentation.message
              </message>
              <description>
                 %constraint.noSequenceContainerRegionChildrenPresentation.description
              </description>
           </constraint>
        </constraints>
     </constraintProvider>
  </extension>
</plugin>
