Behavioral.Mediator.Main.main(String[])   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 17
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 4
Bugs 0 Features 1
Metric Value
eloc 15
c 4
b 0
f 1
dl 0
loc 17
rs 9.65
cc 2
1
/*
2
 * @author  : Jagepard <[email protected]>
3
 * @license https://mit-license.org/ MIT
4
 */
5
6
package Behavioral.Mediator;
7
8
import java.lang.reflect.InvocationTargetException;
9
import java.util.ArrayList;
10
11
public class Main {
12
    public static void main(String[] args) throws Exception {
13
        HandlerInterface handler   = new Handler();
14
        MediatorInterface mediator = new Mediator();
15
        AbstractListener listener1 = new Colleague1();
16
        AbstractListener listener2 = new Colleague2();
17
        AbstractListener listener3 = new Colleague3();
18
19
        try {
20
            mediator.addListener(listener1, "onEvent");
21
            mediator.addListener(listener2, "onEvent");
22
            mediator.addListener(listener3, "onEvent");
23
24
            handShake(handler, mediator, listener1, listener2);
25
            handShake(handler, mediator, listener2, listener3);
26
            handShake(handler, mediator, listener3, listener1);
27
        } catch (Exception e) {
28
            System.out.printf("Caught exception: %s \n", e.getLocalizedMessage());
29
        }
30
    }
31
32
    private static void handShake(HandlerInterface handler, MediatorInterface mediator, AbstractListener listener1, AbstractListener listener2) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
33
        ArrayList<String> result1 = listener1.toGreet(listener2.getClass().getName(), mediator, handler);
34
        System.out.println(result1.get(0));
35
        System.out.println(result1.get(1));
36
    }
37
}
38