blob: 6b176dcb6d45f9dc9546901dfeeb6091805b9116 [file]
<?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="mindmap"
nsURI="http://www.eclipse.org/2008/mindmap" nsPrefix="mindmap">
<eClassifiers xsi:type="ecore:EClass" name="Map">
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//MapElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="created" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootTopics" upperBound="-1"
eType="#//Topic" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/2007/OCL">
<details key="derive" value="let topics : Set(mindmap::Topic) = self.elements->select(oclIsKindOf(mindmap::Topic))->collect(oclAsType(mindmap::Topic))->asSet() in topics->symmetricDifference(topics.subtopics->asSet())"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MapElement" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="Element"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Topic" eSuperTypes="#//MapElement">
<eOperations name="allSubtopics" upperBound="-1" eType="#//Topic">
<eAnnotations source="http://www.eclipse.org/2007/OCL">
<details key="body" value="self->closure(subtopics)"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="subtopics" upperBound="-1"
eType="#//Topic" eOpposite="#//Topic/parent"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="#//Priority"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Topic"
eOpposite="#//Topic/subtopics"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Relationship" eSuperTypes="#//MapElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
eType="#//Topic"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
eType="#//Topic"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Type">
<eLiterals name="DEPENDENCY" literal="d"/>
<eLiterals name="INCLUDE" value="1" literal="i"/>
<eLiterals name="EXTEND" value="2" literal="e"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Priority">
<eLiterals name="HIGH"/>
<eLiterals name="MEDIUM" value="1"/>
<eLiterals name="LOW" value="2"/>
</eClassifiers>
</ecore:EPackage>