blob: b88fe248e496eb50911f860148f9940889112119 [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="filesystem"
nsURI="http://filesystem/r1" nsPrefix="filesystem">
<eClassifiers xsi:type="ecore:EClass" name="FileSystem">
<eStructuralFeatures xsi:type="ecore:EReference" name="files" upperBound="-1"
eType="#//FileSystemElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="users" upperBound="-1"
eType="#//User" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="groups" upperBound="-1"
eType="#//Group" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true">
<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="FileSystemElement" abstract="true" eSuperTypes="#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//User"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="userRights" lowerBound="1"
eType="#//Rights" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="groupRights" lowerBound="1"
eType="#//Rights" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="otherRights" lowerBound="1"
eType="#//Rights" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Group" eSuperTypes="#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
eType="#//User" eOpposite="#//User/groups"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="User" eSuperTypes="#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="groups" upperBound="-1"
eType="#//Group" eOpposite="#//Group/members"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Rights">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canRead" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canWrite" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="canExecute" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Directory" eSuperTypes="#//FileSystemElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
eType="#//FileSystemElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="File" eSuperTypes="#//FileSystemElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="extension" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>