<?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" xmi:id="_j8hggDn2EeWMccEXBUwABA" name="model">
  <eAnnotations xmi:id="_j8hggDn2EeWMccEXBUwABA0" source="genmymodel">
    <details xmi:id="_j8hggDn2EeWMccEXBUwABA00" key="uuid" value="_j8hggDn2EeWMccEXBUwABA"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EClass" xmi:id="_HvNC8BwlEDOqPvwIJiJgKA" name="User" abstract="true">
    <eAnnotations xmi:id="_HvNC8BwlEDOqPvwIJiJgKA0" source="genmymodel">
      <details xmi:id="_HvNC8BwlEDOqPvwIJiJgKA00" key="uuid" value="_HvNC8BwlEDOqPvwIJiJgKA"/>
    </eAnnotations>
    <eOperations xmi:id="_N04nwBwlEDOqPvwIJiJgKA" name="hasPermission">
      <eAnnotations xmi:id="_N04nwBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_N04nwBwlEDOqPvwIJiJgKA00" key="uuid" value="_N04nwBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eParameters xmi:id="_SBJz4BwlEDOqPvwIJiJgKA" name="permission" lowerBound="1" eType="_V0JkYBwlEDOqPvwIJiJgKA">
        <eAnnotations xmi:id="_SBJz4BwlEDOqPvwIJiJgKA0" source="genmymodel">
          <details xmi:id="_SBJz4BwlEDOqPvwIJiJgKA00" key="uuid" value="_SBJz4BwlEDOqPvwIJiJgKA"/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eOperations xmi:id="_0mjhoBwlEDOqPvwIJiJgKA" name="getRole" eType="_cspGMBwlEDOqPvwIJiJgKA">
      <eAnnotations xmi:id="_0mjhoBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_0mjhoBwlEDOqPvwIJiJgKA00" key="uuid" value="_0mjhoBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eParameters xmi:id="_2cfvkBwlEDOqPvwIJiJgKA" name="aClass" lowerBound="1">
        <eAnnotations xmi:id="_2cfvkBwlEDOqPvwIJiJgKA0" source="genmymodel">
          <details xmi:id="_2cfvkBwlEDOqPvwIJiJgKA00" key="uuid" value="_2cfvkBwlEDOqPvwIJiJgKA"/>
        </eAnnotations>
        <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaClass"/>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_rDcMoBwlEDOqPvwIJiJgKA" name="name">
      <eAnnotations xmi:id="_rDcMoBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_rDcMoBwlEDOqPvwIJiJgKA00" key="uuid" value="_rDcMoBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_tEzAYBwlEDOqPvwIJiJgKA" name="email">
      <eAnnotations xmi:id="_tEzAYBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_tEzAYBwlEDOqPvwIJiJgKA00" key="uuid" value="_tEzAYBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eType xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EEnum" xmi:id="_V0JkYBwlEDOqPvwIJiJgKA" name="Permission" instanceClassName="">
    <eAnnotations xmi:id="_V0JkYBwlEDOqPvwIJiJgKA0" source="genmymodel">
      <details xmi:id="_V0JkYBwlEDOqPvwIJiJgKA00" key="uuid" value="_V0JkYBwlEDOqPvwIJiJgKA"/>
    </eAnnotations>
    <eLiterals xmi:id="_93eTYBwlEDOqPvwIJiJgKA" name="General">
      <eAnnotations xmi:id="_93eTYBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_93eTYBwlEDOqPvwIJiJgKA00" key="uuid" value="_93eTYBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
    </eLiterals>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" xmi:id="_cspGMBwlEDOqPvwIJiJgKA" name="Role" eSuperTypes="_HvNC8BwlEDOqPvwIJiJgKA">
    <eAnnotations xmi:id="_cspGMBwlEDOqPvwIJiJgKA0" source="genmymodel">
      <details xmi:id="_cspGMBwlEDOqPvwIJiJgKA00" key="uuid" value="_cspGMBwlEDOqPvwIJiJgKA"/>
    </eAnnotations>
    <eOperations xmi:id="_FoupMBwmEDOqPvwIJiJgKA" name="Role">
      <eAnnotations xmi:id="_FoupMBwmEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_FoupMBwmEDOqPvwIJiJgKA00" key="uuid" value="_FoupMBwmEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eParameters xmi:id="_Js0wwBwmEDOqPvwIJiJgKA" name="user" lowerBound="1" eType="_HvNC8BwlEDOqPvwIJiJgKA">
        <eAnnotations xmi:id="_Js0wwBwmEDOqPvwIJiJgKA0" source="genmymodel">
          <details xmi:id="_Js0wwBwmEDOqPvwIJiJgKA00" key="uuid" value="_Js0wwBwmEDOqPvwIJiJgKA"/>
        </eAnnotations>
      </eParameters>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="_jrB0oBwlEDOqPvwIJiJgKA" name="user">
      <eAnnotations xmi:id="_jrB0oBwlEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_jrB0oBwlEDOqPvwIJiJgKA00" key="uuid" value="_jrB0oBwlEDOqPvwIJiJgKA"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" xmi:id="_pZfMQBwlEDOqPvwIJiJgKA" name="ConcreteUser" eSuperTypes="_HvNC8BwlEDOqPvwIJiJgKA">
    <eAnnotations xmi:id="_pZfMQBwlEDOqPvwIJiJgKA0" source="genmymodel">
      <details xmi:id="_pZfMQBwlEDOqPvwIJiJgKA00" key="uuid" value="_pZfMQBwlEDOqPvwIJiJgKA"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" xmi:id="_DF0nkBwmEDOqPvwIJiJgKA" name="GeneralRole" eSuperTypes="_cspGMBwlEDOqPvwIJiJgKA">
    <eAnnotations xmi:id="_DF0nkBwmEDOqPvwIJiJgKA0" source="genmymodel">
      <details xmi:id="_DF0nkBwmEDOqPvwIJiJgKA00" key="uuid" value="_DF0nkBwmEDOqPvwIJiJgKA"/>
    </eAnnotations>
    <eOperations xmi:id="_MRj-YBwmEDOqPvwIJiJgKA" name="GeneralRole">
      <eAnnotations xmi:id="_MRj-YBwmEDOqPvwIJiJgKA0" source="genmymodel">
        <details xmi:id="_MRj-YBwmEDOqPvwIJiJgKA00" key="uuid" value="_MRj-YBwmEDOqPvwIJiJgKA"/>
      </eAnnotations>
      <eParameters xmi:id="_OTBf0BwmEDOqPvwIJiJgKA" name="user" lowerBound="1" eType="_HvNC8BwlEDOqPvwIJiJgKA">
        <eAnnotations xmi:id="_OTBf0BwmEDOqPvwIJiJgKA0" source="genmymodel">
          <details xmi:id="_OTBf0BwmEDOqPvwIJiJgKA00" key="uuid" value="_OTBf0BwmEDOqPvwIJiJgKA"/>
        </eAnnotations>
      </eParameters>
    </eOperations>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":null,"nsURI":null,"name":"model","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"User","instanceClass":null,"abstract":true,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":"","instanceClassName":"","name":"Permission","instanceClass":null,"id":2,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Role","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConcreteUser","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GeneralRole","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"unique":true,"name":"hasPermission","lowerBound":0,"id":6,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"unique":true,"name":"getRole","lowerBound":0,"id":7,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":0,"iD":false,"id":8,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"email","changeable":true,"lowerBound":0,"iD":false,"id":9,"derived":false},{"id":10,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"permission","lowerBound":1,"id":11,"many":false,"required":true,"eClass":"EParameter"},{"id":12,"eClass":"EGenericType"},{"id":13,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"aClass","lowerBound":1,"id":14,"many":false,"required":true,"eClass":"EParameter"},{"id":15,"eClass":"EGenericType"},{"id":16,"eClass":"EGenericType"},{"id":17,"eClass":"EGenericType"},{"name":"General","id":18,"value":0,"literal":"General","eClass":"EEnumLiteral"},{"ordered":true,"upperBound":1,"unique":true,"name":"Role","lowerBound":0,"id":19,"many":false,"required":false,"eClass":"EOperation"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"user","changeable":true,"lowerBound":0,"iD":false,"id":20,"derived":false},{"id":21,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":22,"many":false,"required":true,"eClass":"EParameter"},{"id":23,"eClass":"EGenericType"},{"id":24,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"GeneralRole","lowerBound":0,"id":25,"many":false,"required":false,"eClass":"EOperation"},{"id":26,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":27,"many":false,"required":true,"eClass":"EParameter"},{"id":28,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":1,"target":0},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":6,"target":10},{"source":6,"target":1},{"source":6,"target":11},{"source":11,"target":2},{"source":11,"target":12},{"source":11,"target":6},{"source":12,"target":2},{"source":7,"target":3},{"source":7,"target":13},{"source":7,"target":1},{"source":7,"target":14},{"source":13,"target":3},{"source":14,"target":15},{"source":14,"target":7},{"source":8,"target":16},{"source":8,"target":1},{"source":9,"target":17},{"source":9,"target":1},{"source":2,"target":0},{"source":2,"target":18},{"source":18,"target":2},{"source":3,"target":0},{"source":3,"target":1},{"source":3,"target":19},{"source":3,"target":20},{"source":3,"target":21},{"source":19,"target":3},{"source":19,"target":22},{"source":22,"target":1},{"source":22,"target":23},{"source":22,"target":19},{"source":23,"target":1},{"source":20,"target":3},{"source":21,"target":1},{"source":4,"target":0},{"source":4,"target":1},{"source":4,"target":24},{"source":24,"target":1},{"source":5,"target":0},{"source":5,"target":3},{"source":5,"target":25},{"source":5,"target":26},{"source":25,"target":5},{"source":25,"target":27},{"source":27,"target":1},{"source":27,"target":28},{"source":27,"target":25},{"source":28,"target":1},{"source":26,"target":3}],"multigraph":true}
model
User
hasPermission
permission
getRole
aClass
name
email
Permission


General
General
Role
Role
user
user
ConcreteUser
GeneralRole
GeneralRole
user