| <?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> |