1 // Author:  Vadim Nasardinov
2 // Author:  Andrea Aime
3 
4 import java.util.List;
5 import java.util.Map;
6 
7 /**
8  * @assoc "1..1" - "0..n" Adapter
9  * @assoc "" - "0..n" ObjectType
10  * @assoc "" - "0..n" ObjectMap
11  * @assoc "" - "0..n" Table
12  * @assoc "" - "0..n" DataOperation
13  **/
14 class Root {
15     private Map m_adapters;
16     private List m_types;
17     private List m_maps;
18     private List m_tables;
19     private List m_ops;
20 
getAdapter(Class klass)21     public Adapter getAdapter(Class klass) {}
22 }
23 
24 class Adapter {
getRoot()25     public Root getRoot();
26 }
27 
28 abstract class Element {
getRoot()29     Root getRoot() {}
30 }
31 
32 class ObjectType extends Element {}
33 
34 /**
35  * @has "1..1" - "1..1" ObjectType
36  **/
37 class ObjectMap extends Element {
38     private ObjectType m_type;
39 }
40 
41 class Table extends Element {}
42 
43 class DataOperation extends Element {}
44 
45 /**
46  * @hidden
47  * @opt nodefontname luxisr
48  * @opt nodefontabstractname luxisri
49  * @opt edgefontname luxisr
50  * @opt nodefontsize 8
51  * @opt edgefontsize 8
52  * @opt nodefillcolor LemonChiffon
53  */
54 class UMLOptions {}
55 
56 /**
57  * @view
58  * @opt attributes
59  * @opt operations
60  */
61 class DetailedView {}
62 
63 /**
64  * @view
65  */
66 class Overview {}
67