blob: 5e1d537845f91ee59ea7c292f18fd2a4d2cee310 [file] [log] [blame]
<?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>