Draw on the right, write (Umple) model code on the left. Analyse models and generate code. This tool stores your data in cookies and on a server. I understand. Click to learn about privacy. Download Donate For help: User manual Ask questions Report issue
interface I1 { void m1(); } trait SuperT { isA I1; mixset f5 {e;} void m1() { System.out.println("impl of m1"); } } trait T1 { isA SuperT; Integer c; Integer d; mixset f6 {[c > d]} after setC { System.out.println("SetC has happened from T1"); } mixset f1 {1 -- 1..* C4;} } trait T2 { after setC { System.out.println("setC has happened from T2"); } } trait T3 { void m2() { System.out.println("M2 is executing"); } sm1 { s1 { e -> s2; } s2 { } } } trait T4 { isA T3; } class C1 { isA T1, I1; mixset f1 {1 -- * C3;} } mixset f5 class C2 { mixset f4 {1 -- 1..* C3;} isA C1, T2; void m1() { System.out.println("Overriding impl of m1"); } } class C3 { } mixset f4 class C4 { isA T4; // Commented code bellow will cause an error when mixset f4 is used even when mixset f5 is not used. // This because inline mixsets does not support apsect. //mixset f5 after custom m2() {System.out.println("m2 occurred");} mixset f5 { after custom m2() {System.out.println("m2 occurred");} } after e1 {System.out.printlin("event e1 occurred");} }//$?[End_of_model]$? class C3 { position 50 230 109 45; } class C1 { position 50 30 109 45; } class C1 { position 50 30 109 45; } class C3 { position 50 230 109 45; } // @@@skipcppcompile - Contains Java Code // @@@skipphpcompile - Contains Java Code // @@@skiprubycompile - Contains Java Code // @@@skippythoncompile - Contains Java Code