1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
input metauml;
input metauml_package;
input metauml_package_relations;
beginfig(1);
Package.emptyPackage("")();
Package.nameOnlyPackage("java.sun.com")();
Class.oneClass("A class")()();
Package.oneClassPackage("One class package")(oneClass);
Instance.oneInstance("An instance")();
State.oneState("A state")();
Activity.oneActivity("An activity");
Package.multiPackage("Multipackage")(oneInstance, oneState, oneActivity);
Package.allPackage("This package contains them all")(emptyPackage, nameOnlyPackage,
oneClassPackage, multiPackage);
nameOnlyPackage.nw = emptyPackage.ne + (30, 0);
oneClassPackage.ne = emptyPackage.s - (0, 50);
multiPackage.top = oneClassPackage.top;
multiPackage.left = oneClassPackage.right + 20;
centered_align_top(oneState, oneActivity)(10, below(oneInstance.s, 20));
drawObjects(allPackage);
endfig;
beginfig(2);
Package.nameOnlyOnTopPackage("Name on top")();
nameOnlyOnTopPackage.info.forceEmptyContent := 1;
Package.nameOnlyInMiddlePackage("By default name", "is in the middle")();
Class.cl("A class")("Attribute")("Method");
Package.notEmptyPackage("Contains class")(cl);
nameOnlyInMiddlePackage.n = nameOnlyOnTopPackage.s - (0, 40);
notEmptyPackage.w = nameOnlyInMiddlePackage.e + (80, 0);
drawObjects(nameOnlyOnTopPackage, nameOnlyInMiddlePackage, notEmptyPackage);
%link(import)(pathStepX(notEmptyPackage.w, nameOnlyOnTopPackage.e, -30));
%link(import)(pathVertical(nameOnlyInMiddlePackage.ne - (10, 0), nameOnlyOnTopPackage.bottom));
%link(import)(notEmptyPackage.sw -- nameOnlyInMiddlePackage.ne);
endfig;
beginfig(3);
link(nest)((10,10)--(30,30));
endfig;
end
|