blob: 8d6e8a3e25428f28ae7e807b6e3e83aeb67df2da [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model" nsURI="htp://www.eclipse.org/emf/ecp/view/validation/test/model"
nsPrefix="org.eclipse.emf.ecp.view.validation.test.model">
<eClassifiers xsi:type="ecore:EClass" name="Library">
<eOperations name="validate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="diagnostic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eGenericType>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="writers" lowerBound="1"
upperBound="-1" eType="#//Writer" containment="true" eOpposite="#//Writer/library"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
eType="#//Book" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="librarian" eType="#//Librarian"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="phoneNumber" eType="#//PhoneNumber"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Writer">
<eOperations name="validate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="diagnostic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eGenericType>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="EMail" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="BirthDate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1"
eType="#//Book" eOpposite="#//Book/writers"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="Pseudonym" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="library" eType="#//Library"
eOpposite="#//Library/writers"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="initials" eType="#//MinLengthOf3"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="#//StrictMinLengthOf3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Book">
<eOperations name="validate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="diagnostic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eGenericType>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="100"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="writers" eType="#//Writer"
eOpposite="#//Writer/books"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Librarian">
<eOperations name="validate" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eParameters name="diagnostic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
<eParameters name="context">
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
<eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eGenericType>
</eParameters>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Computer">
<eStructuralFeatures xsi:type="ecore:EReference" name="mainboard" eType="#//Mainboard"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="powerBlock" eType="#//PowerBlock"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="colors" upperBound="-1"
eType="#//Color"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Mainboard">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PowerBlock">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Container">
<eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
eType="#//Content" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Content">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uniqueAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="secondAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableWithMultiplicity" eSuperTypes="#//TableObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="content" lowerBound="1"
upperBound="-1" eType="#//TableContent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableContent" abstract="true"/>
<eClassifiers xsi:type="ecore:EClass" name="TableContentWithoutValidation" eSuperTypes="#//TableContent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableContentWithValidation" eSuperTypes="#//TableContent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="weight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicity" eSuperTypes="#//TableObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
eType="#//TableContent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableWithUnique" eSuperTypes="#//TableObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
eType="#//TableContent" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableContentWithInnerChild2" eSuperTypes="#//TableContent">
<eStructuralFeatures xsi:type="ecore:EReference" name="innerChild" eType="#//TableContent"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableContentWithInnerChild" eSuperTypes="#//TableContent">
<eStructuralFeatures xsi:type="ecore:EReference" name="innerChild" eType="#//TableContent"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="stuff" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableWithoutMultiplicityConcrete" eSuperTypes="#//TableObject">
<eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1"
eType="#//TableContentWithInnerChild" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Referencer">
<eStructuralFeatures xsi:type="ecore:EReference" name="referencedContent" eType="#//Computer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CrossReferenceContainer">
<eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
eType="#//CrossReferenceContent" containment="true" eOpposite="#//CrossReferenceContent/parent"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleContent" eType="#//CrossReferenceContent"
containment="true" eOpposite="#//CrossReferenceContent/singleParent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CrossReferenceContent">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//CrossReferenceContainer"
eOpposite="#//CrossReferenceContainer/contents"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="singleParent" eType="#//CrossReferenceContainer"
eOpposite="#//CrossReferenceContainer/singleContent"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Person">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" eType="#//StringWithMaxLength8"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="gender" eType="#//Gender"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" eType="#//OnlyCapitals"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="custom" eType="#//CustomDataType"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="age" eType="#//Age"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="StringWithMaxLength8" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="maxLength" value="8"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Gender">
<eLiterals name="Male"/>
<eLiterals name="Female" value="1" literal="Female"/>
<eLiterals name="Both" value="2" literal="Both"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="OnlyCapitals" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="pattern" value="[A-Z]+"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="CustomDataType" instanceClassName="java.lang.String"/>
<eClassifiers xsi:type="ecore:EDataType" name="PhoneNumber" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="pattern" value="((\+)?[a-c0-9*#]{1,20}){0,1}"/>
<details key="loosePattern" value="[+0-9]+"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="MinLengthOf3" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="minLength" value="3"/>
<details key="looseMinLength" value="0"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="StrictMinLengthOf3" instanceClassName="java.lang.String">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="minLength" value="3"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Age" instanceClassName="java.lang.Integer">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="minInclusive" value="0"/>
<details key="maxInclusive" value="100"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Color">
<eLiterals name="Red" literal=""/>
<eLiterals name="Green" value="1"/>
<eLiterals name="Blue" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TableObject" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>