| <?xml version="1.0" encoding="ASCII"?> |
| <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="extlibrary" nsURI="http://www.eclipse.org/Intent/Extlibrary/1.0.0" nsPrefix="extlib"> |
| <eClassifiers xsi:type="ecore:EClass" name="Book" eSuperTypes="//CirculatingItem"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="title"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="author" lowerBound="1" eType="//Writer" eOpposite="//Writer/books"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="pages" defaultValueLiteral="100"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="//BookCategory" unsettable="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="BookCategory"> |
| <eLiterals name="Mystery" literal="Mystery"/> |
| <eLiterals name="ScienceFiction" value="1" literal="ScienceFiction"/> |
| <eLiterals name="Biography" value="2" literal="Biography"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="//Addressable"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="writers" upperBound="-1" eType="//Writer" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="stock" ordered="false" upperBound="-1" eType="//Item" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="books" ordered="false" upperBound="-1" eType="//Book" transient="true" derived="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1" eType="//Employee" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" ordered="false" upperBound="-1" eType="//Borrower" volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="people" upperBound="-1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="branches" upperBound="-1" eType="//Library" containment="true" eOpposite="//Library/parentBranch"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="parentBranch" eType="//Library" eOpposite="//Library/branches"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Writer" eSuperTypes="//Person"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" volatile="true" transient="true"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="books" upperBound="-1" eType="//Book" eOpposite="//Book/author"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDate"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Lendable" abstract="true" interface="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="copies" lowerBound="1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="borrowers" upperBound="-1" eType="//Borrower" eOpposite="//Borrower/borrowed"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="CirculatingItem" abstract="true" eSuperTypes="//Item //Lendable"/> |
| <eClassifiers xsi:type="ecore:EClass" name="Periodical" abstract="true" eSuperTypes="//Item"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="title"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="issuesPerYear" lowerBound="1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="AudioVisualItem" abstract="true" eSuperTypes="//CirculatingItem"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="title"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="minutesLength" lowerBound="1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="damaged"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="BookOnTape" eSuperTypes="//AudioVisualItem"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="reader" eType="//Person"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="author" eType="//Writer"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="VideoCassette" eSuperTypes="//AudioVisualItem"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="cast" upperBound="-1" eType="//Person"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Borrower" eSuperTypes="//Person"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="borrowed" upperBound="-1" eType="//Lendable" eOpposite="//Lendable/borrowers"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="//Addressable"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" lowerBound="1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" lowerBound="1"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Employee" eSuperTypes="//Person"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="//Employee"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Addressable" abstract="true" interface="true"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="address"> |
| <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eStructuralFeatures> |
| </eClassifiers> |
| </ecore:EPackage> |