<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
Copyright (c) 2009, 2019 Mia-Software 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:
    Gregoire DUPE (Mia-Software) - initial API and implementation
    Nicolas BROS (Mia-Software)
-->
<plugin>

   <extension point="org.eclipse.emf.ecore.generated_package">
      <package
            uri="http://www.eclipse.org/MoDisco/infra/facet/0.8.incubation"
            class="org.eclipse.modisco.infra.facet.FacetPackage"
            genModel="model/facet.genmodel"/>
   </extension>
      <extension
         point="org.eclipse.emf.validation.constraintProviders">
      <category
            id="org.eclipse.modisco.infra.facet.validation"
            mandatory="false"
            name="%category.name"/>
      <constraintProvider
            mode="Batch">
         <package namespaceUri="http://www.eclipse.org/MoDisco/infra/facet/0.8.incubation"/>
         <constraints categories="org.eclipse.modisco.infra.facet.validation">
            <constraint
                  lang="Java"
                  class="org.eclipse.modisco.infra.facet.validation.NonEmptyName"
                  severity="ERROR"
                  mode="Batch"
                  name="%constraint.name"
                  id="org.eclipse.modisco.infra.facet.validation.nonemptyname"
                  statusCode="1">
               <description>
                  %constraint.description
               </description>
               <message>
                  %constraint.message
               </message>
               <target class="FacetSet"/>
               <target class="Facet"/>
               <target class="FacetReference"/>
               <target
                     class="FacetAttribute">
               </target>
            </constraint>
            <constraint
                  lang="Java"
                  class="org.eclipse.modisco.infra.facet.validation.FacetSetRoot"
                  severity="ERROR"
                  mode="Batch"
                  name="%constraint.name.0"
                  id="org.eclipse.modisco.infra.facet.validation.ModelfacetSetRoot"
                  statusCode="1">
               <description>
                  %constraint.description.0
               </description>
               <message>
                  %constraint.message.0
               </message>
               <target class="Facet"/>
               <target
                     class="FacetSet">
               </target>
            </constraint>
            <constraint
                  lang="Java"
                  class="org.eclipse.modisco.infra.facet.validation.FacetSetName"
                  severity="ERROR"
                  mode="Batch"
                  name="%constraint.name.1"
                  id="org.eclipse.modisco.infra.facet.validation.FacetSetName"
                  statusCode="1">
               <description>
                  %constraint.description.1
               </description>
               <message>
                  %constraint.message.1
               </message>
               <target class="FacetSet"/>
            </constraint>
            <constraint
                  lang="Java"
                  class="org.eclipse.modisco.infra.facet.validation.ExtendedClassValidation"
                  severity="ERROR"
                  mode="Batch"
                  name="%constraint.name.2"
                  id="org.eclipse.modisco.infra.facet.validation.ExtendedClassValidation"
                  statusCode="1">
               <description>
                  %constraint.description.2 
               </description>
               <message>
                  %constraint.message.2
               </message>
               <target class="Facet"/>
            </constraint> 
            <constraint
                  lang="Java"
                  class="org.eclipse.modisco.infra.facet.validation.UniqueName"
                  severity="ERROR"
                  mode="Batch"
                  name="%constraint.name.3"
                  id="org.eclipse.modisco.infra.facet.validation.UniqueName"
                  statusCode="1">
               <description>
                  %constraint.description.3
               </description>
               <message>
                   %constraint.message.3
               </message>
               <target class="FacetSet"/>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetInQueryScope"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.4"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.4
               </message>
               <description>
                  %constraint.description.4
               </description>
               <target
                     class="Facet">
               </target>
<![CDATA[
if self.conditionQuery = null then true else self.conditionQuery.scope->exists(scopeClass|self.eSuperTypes->exists(f|scopeClass.isSuperTypeOf(f))) endif
]]>
            </constraint>   
            <constraint
                  id="org.eclipse.modisco.infra.facet.BooleanFacetQuery"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.5"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.5
               </message>
               <description>
                  %constraint.description.5 
               </description>
               <target
                     class="Facet">
               </target>
<![CDATA[
if self.conditionQuery.oclIsUndefined() then
 true 
else
 (self.conditionQuery.returnType.instanceClassName = 'java.lang.Boolean') or (self.conditionQuery.returnType.instanceClassName = 'boolean')
endif 
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.OnlyFacetStructuralFeature"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.6"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.6
               </message>
               <description>
                  %constraint.description.6 
               </description>
               <target
                     class="Facet">
               </target>
<![CDATA[
self.eStructuralFeatures->forAll(e|e.oclIsKindOf(facet::FacetStructuralFeature) or e.oclIsKindOf(facet::Shortcut) ) 
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.QueryReturnsDataType"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.7"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.7
               </message>
               <description>
                  %constraint.description.7
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
self.valueQuery.returnType.oclIsKindOf(ecore::EDataType)
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.QueryReturnsEClass"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.8"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.8
               </message>
               <description>
                  %constraint.description.8
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.valueQuery.returnType.oclIsKindOf(ecore::EClass)
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetIsAbstract"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.9"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.9
               </message>
               <description>
                  %constraint.description.9
               </description>
               <target
                     class="Facet">
               </target>
<![CDATA[
self.abstract
]]>
            </constraint> 
			<constraint
                  id="org.eclipse.modisco.infra.facet.ExtendedPackage"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.10"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.10
               </message>
               <description>
                  %constraint.description.10
               </description>
               <target
                     class="FacetSet">
               </target>
<![CDATA[
self.extendedPackage <> self
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.AttributeQueryType"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.11"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.11
               </message>
               <description>
                  %constraint.description.11
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
(self.eType = self.valueQuery.returnType)
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.ReferenceQueryType"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.12"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.12
               </message>
               <description>
                  %constraint.description.12
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.eType = self.valueQuery.returnType
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.AttributeMultiplicity"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.13"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.13
               </message>
               <description>
                  %constraint.description.13
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
(self.upperBound = self.valueQuery.upperBound) and (self.lowerBound = self.valueQuery.lowerBound)
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.ReferenceMultiplicity"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.14"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.14
               </message>
               <description>
                  %constraint.description.14
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
(self.upperBound = self.valueQuery.upperBound) and (self.lowerBound = self.valueQuery.lowerBound)
]]>
            </constraint>
            

            
            <constraint
                  id="org.eclipse.modisco.infra.facet.refNotChangeable"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.15"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.15
               </message>
               <description>
                  %constraint.description.15
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.changeable=false
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.refDerived"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.16"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.16
               </message>
               <description>
                  %constraint.description.16
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.derived
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.refVolatile"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.17"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.17
               </message>
               <description>
                  %constraint.description.17
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.volatile
]]>
            </constraint>           
            <constraint
                  id="org.eclipse.modisco.infra.facet.refUnsettable"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.18"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.18
               </message>
               <description>
                  %constraint.description.18
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.unsettable
]]>
            </constraint>             
             <constraint
                  id="org.eclipse.modisco.infra.facet.refNotContainment"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.19"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.19
               </message>
               <description>
                  %constraint.description.19
               </description>
               <target
                     class="FacetReference">
               </target>
<![CDATA[
self.containment=false
]]>
            </constraint>           
            

            
           <constraint
                  id="org.eclipse.modisco.infra.facet.attrNotChangeable"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.20"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.20
               </message>
               <description>
                  %constraint.description.20
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
self.changeable=false
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.attrDerived"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.21"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.21
               </message>
               <description>
                  %constraint.description.21
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
self.derived
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.attrVolatile"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.22"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.22
               </message>
               <description>
                  %constraint.description.22
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
self.volatile
]]>
            </constraint>           
            <constraint
                  id="org.eclipse.modisco.infra.facet.attrUnsettable"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.23"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.23
               </message>
               <description>
                  %constraint.description.23
               </description>
               <target
                     class="FacetAttribute">
               </target>
<![CDATA[
self.unsettable
]]>
            </constraint> 
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetESuperTypes"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.24"
                  severity="ERROR"
                  statusCode="1">
               <message>
                 %constraint.message.24
               </message>
               <description>
                  %constraint.description.24
               </description>
               <target
                     class="Facet">
               </target>
<![CDATA[
self.eSuperTypes->size() > 0
]]>
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetSetNsURI"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.25"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.25
               </message>
               <description>
%constraint.description.25               
               </description>
               <target
                     class="FacetSet">
               </target>
<![CDATA[
self.nsURI->notEmpty() and self.nsURI <> ''
]]>               
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetSetNsPrefix"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.26"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.26
               </message>
               <description>
%constraint.description.26               
               </description>
               <target
                     class="FacetSet">
               </target>
<![CDATA[
self.nsPrefix->notEmpty() and self.nsPrefix <> ''
]]>               
            </constraint>
            <constraint
                  id="org.eclipse.modisco.infra.facet.FacetSetExtendedPackages"
                  lang="OCL"
                  mode="Batch"
                  name="%constraint.name.27"
                  severity="ERROR"
                  statusCode="1">
               <message>
                  %constraint.message.27
               </message>
               <description>
%constraint.description.27               
               </description>
               <target
                     class="FacetSet">
               </target>
<![CDATA[
self.extendedPackage->notEmpty()
]]>               
            </constraint>
         </constraints>
      </constraintProvider>
   </extension>
   <extension
         point="org.eclipse.emf.validation.constraintBindings">
      <clientContext
            default="false"
            id="org.eclipse.modisco.infra.facet.clientcontext">
         <enablement></enablement>
      </clientContext>
      <binding
            context="org.eclipse.modisco.infra.facet.clientcontext"
            category="org.eclipse.modisco.infra.facet.validation"/>
   </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="facetSet"
            id="org.eclipse.modisco.infra.facet.contenttype"
            name="%content-type.name"
            priority="normal">
      </content-type>
   </extension>

</plugin>
