employee
Date
java.util.Date
java.util.Date
Department
name
employees
Employee
name
salary
age
hireDate
<?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="employee"
    nsURI="http://www.eclipse.org/emf/teneo/samples/emf/sample/Employee" nsPrefix="employee">
  <eAnnotations source="teneo.hibernate">
    <details key="appinfo" value="&#xA;&#x9;&#x9;&#x9;@FilterDef(name=&quot;ageRange&quot;, parameters={ @ParamDef( name=&quot;fromAge&quot;, type=&quot;integer&quot; ), @ParamDef( name=&quot;toAge&quot;, type=&quot;integer&quot; ) } )&#xA;&#x9;&#x9;&#x9;@FilterDef(name=&quot;salaryHigherThan&quot;, parameters={ @ParamDef( name=&quot;salary&quot;, type=&quot;integer&quot; ) } )&#xA;&#x9;&#x9;"/>
  </eAnnotations>
  <eClassifiers xsi:type="ecore:EDataType" name="Date" instanceClassName="java.util.Date">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="name" value="date"/>
    </eAnnotations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Department">
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="name" value="Department"/>
      <details key="kind" value="elementOnly"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="name"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EReference" name="employees" upperBound="-1"
        eType="#//Employee" containment="true" resolveProxies="false">
      <eAnnotations source="teneo.hibernate">
        <details key="appinfo" value="&#xA;&#x9;&#x9;&#x9;&#x9;@OneToMany(indexed=false)&#xA;&#x9;&#x9;&#x9;&#x9;@Filter(name=&quot;ageRange&quot;, condition=&quot;age between :fromAge and :toAge&quot;)&#xA;&#x9;&#x9;&#x9;&#x9;@Filter(name=&quot;salaryHigherThan&quot;, condition=&quot;salary &amp;gt; :salary&quot;)&#xA;&#x9;&#x9;&#x9;"/>
      </eAnnotations>
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="employees"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Employee">
    <eAnnotations source="teneo.hibernate">
      <details key="appinfo" value="&#xA;&#x9;&#x9;&#x9;@FilterDef(name=&quot;hireDate&quot;, parameters={ @ParamDef( name=&quot;date&quot;, type=&quot;date&quot; ) } )&#xA;&#x9;&#x9;&#x9;@Filter(name=&quot;ageRange&quot;, condition=&quot;age between :fromAge and :toAge&quot;)&#xA;&#x9;&#x9;&#x9;@Filter(name=&quot;salaryHigherThan&quot;, condition=&quot;salary &amp;gt; :salary&quot;)&#xA;&#x9;&#x9;&#x9;@Filter(name=&quot;hireDate&quot;, condition=&quot;hireDate &amp;gt; :date&quot;)&#xA;&#x9;&#x9;"/>
    </eAnnotations>
    <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
      <details key="name" value="Employee"/>
      <details key="kind" value="elementOnly"/>
    </eAnnotations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="name"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="salary" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" unsettable="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="salary"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="age" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
        unsettable="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="age"/>
      </eAnnotations>
    </eStructuralFeatures>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="hireDate" lowerBound="1"
        eType="#//Date">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="kind" value="element"/>
        <details key="name" value="hireDate"/>
      </eAnnotations>
    </eStructuralFeatures>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"employee","nsURI":"http://www.eclipse.org/emf/teneo/samples/emf/sample/Employee","name":"employee","id":0,"eClass":"EPackage"},{"instanceTypeName":"java.util.Date","defaultValue":null,"instanceClassName":"java.util.Date","name":"Date","instanceClass":"java.util.Date","id":1,"serializable":true,"eClass":"EDataType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Department","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Employee","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":4,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"employees","changeable":true,"resolveProxies":false,"lowerBound":0,"id":5,"derived":false},{"id":6,"eClass":"EGenericType"},{"id":7,"eClass":"EGenericType"},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":8,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"salary","changeable":true,"lowerBound":1,"iD":false,"id":9,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":true,"transient":false,"unique":true,"name":"age","changeable":true,"lowerBound":1,"iD":false,"id":10,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"hireDate","changeable":true,"lowerBound":1,"iD":false,"id":11,"derived":false},{"id":12,"eClass":"EGenericType"},{"id":13,"eClass":"EGenericType"},{"id":14,"eClass":"EGenericType"},{"id":15,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":1,"target":0},{"source":2,"target":0},{"source":2,"target":4},{"source":2,"target":5},{"source":4,"target":6},{"source":4,"target":2},{"source":5,"target":3},{"source":5,"target":7},{"source":5,"target":2},{"source":7,"target":3},{"source":3,"target":0},{"source":3,"target":8},{"source":3,"target":9},{"source":3,"target":10},{"source":3,"target":11},{"source":8,"target":12},{"source":8,"target":3},{"source":9,"target":13},{"source":9,"target":3},{"source":10,"target":14},{"source":10,"target":3},{"source":11,"target":1},{"source":11,"target":15},{"source":11,"target":3},{"source":15,"target":1}],"multigraph":true}