source: trunk/intermine/objectstore/model/testmodel/testmodel_model.xml @ 28709

Revision 28709, 5.6 KB checked in by alex, 2 months ago (diff)

Added detail to the model to enable richer queries and help testing of new query-builders

Line 
1<model name="testmodel" package="org.intermine.model.testmodel">
2    <class name="Broke" is-interface="true">
3        <attribute name="debt" type="int"/>
4        <attribute name="interestRate" type="double"/>
5        <reference name="bank" referenced-type="Bank" reverse-reference="debtors"/>
6        <reference name="owedBy" referenced-type="Employable"/>
7    </class>
8    <class name="Thing" is-interface="true"></class>
9    <class name="Employable" extends="Thing" is-interface="true">
10        <attribute name="name" type="java.lang.String"/>
11    </class>
12    <class name="HasAddress" is-interface="true">
13        <reference name="address" referenced-type="Address"/>
14    </class>
15    <class name="HasSecretarys" is-interface="true">
16        <collection name="secretarys" referenced-type="Secretary"/>
17    </class>
18    <class name="Contractor" extends="Employable ImportantPerson" is-interface="false">
19        <reference name="personalAddress" referenced-type="Address"/>
20        <reference name="businessAddress" referenced-type="Address"/>
21        <collection name="companys" referenced-type="Company" reverse-reference="contractors"/>
22        <collection name="oldComs" referenced-type="Company" reverse-reference="oldContracts"/>
23    </class>
24    <class name="Manager" extends="Employee ImportantPerson" is-interface="false">
25        <attribute name="title" type="java.lang.String"/>
26    </class>
27    <class name="Employee" extends="Employable HasAddress" is-interface="false">
28        <attribute name="fullTime" type="boolean"/>
29        <attribute name="age" type="int"/>
30        <attribute name="end" type="java.lang.String"/>
31        <reference name="department" referenced-type="Department" reverse-reference="employees"/>
32        <reference name="departmentThatRejectedMe" referenced-type="Department" reverse-reference="rejectedEmployee"/>
33        <collection name="simpleObjects" referenced-type="SimpleObject" reverse-reference="employee"/>
34    </class>
35    <class name="Department" extends="RandomInterface" is-interface="false">
36        <attribute name="name" type="java.lang.String"/>
37        <reference name="company" referenced-type="Company" reverse-reference="departments"/>
38        <reference name="manager" referenced-type="Manager"/>
39        <collection name="employees" referenced-type="Employee" reverse-reference="department"/>
40        <collection name="rejectedEmployee" referenced-type="Employee" reverse-reference="departmentThatRejectedMe"/>
41    </class>
42    <class name="Company" extends="RandomInterface HasAddress HasSecretarys" is-interface="true">
43        <attribute name="name" type="java.lang.String"/>
44        <attribute name="vatNumber" type="int"/>
45        <reference name="CEO" referenced-type="CEO" reverse-reference="company"/>
46        <reference name="bank" referenced-type="Bank" reverse-reference="corporateCustomers"/>
47        <collection name="departments" referenced-type="Department" reverse-reference="company"/>
48        <collection name="contractors" referenced-type="Contractor" reverse-reference="companys"/>
49        <collection name="oldContracts" referenced-type="Contractor" reverse-reference="oldComs"/>
50    </class>
51    <class name="Address" extends="Thing" is-interface="false">
52        <attribute name="address" type="java.lang.String"/>
53    </class>
54    <class name="RandomInterface" is-interface="true"></class>
55    <class name="CEO" extends="Manager HasSecretarys" is-interface="false">
56        <attribute name="salary" type="int"/>
57        <reference name="company" referenced-type="Company" reverse-reference="CEO"/>
58    </class>
59    <class name="ImportantPerson" is-interface="true">
60        <attribute name="seniority" type="java.lang.Integer"/>
61    </class>
62    <class name="Secretary" is-interface="false">
63        <attribute name="name" type="java.lang.String"/>
64    </class>
65    <class name="Types" is-interface="false">
66        <attribute name="name" type="java.lang.String"/>
67        <attribute name="booleanType" type="boolean"/>
68        <attribute name="floatType" type="float"/>
69        <attribute name="doubleType" type="double"/>
70        <attribute name="shortType" type="short"/>
71        <attribute name="intType" type="int"/>
72        <attribute name="longType" type="long"/>
73        <attribute name="booleanObjType" type="java.lang.Boolean"/>
74        <attribute name="floatObjType" type="java.lang.Float"/>
75        <attribute name="doubleObjType" type="java.lang.Double"/>
76        <attribute name="shortObjType" type="java.lang.Short"/>
77        <attribute name="intObjType" type="java.lang.Integer"/>
78        <attribute name="longObjType" type="java.lang.Long"/>
79        <attribute name="bigDecimalObjType" type="java.math.BigDecimal"/>
80        <attribute name="dateObjType" type="java.util.Date"/>
81        <attribute name="stringObjType" type="java.lang.String"/>
82        <attribute name="clobObjType" type="org.intermine.objectstore.query.ClobAccess"/>
83    </class>
84    <class name="Bank" is-interface="false">
85        <attribute name="name" type="java.lang.String"/>
86        <collection name="debtors" referenced-type="Broke" reverse-reference="bank"/>
87        <collection name="corporateCustomers" referenced-type="Company" reverse-reference="bank"/>
88    </class>
89    <class name="SimpleObject" is-interface="false" extends="java.lang.Object">
90        <attribute name="name" type="java.lang.String"/>
91        <reference name="employee" referenced-type="Employee" reverse-reference="simpleObjects"/>
92    </class>
93    <class name="Range" is-interface="false">
94        <attribute name="rangeStart" type="int"/>
95        <attribute name="rangeEnd" type="int"/>
96        <attribute name="name" type="java.lang.String"/>
97        <reference name="parent" referenced-type="Company"/>
98    </class>
99</model>
Note: See TracBrowser for help on using the repository browser.