Behavioral.Mediator.Main   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 4
Bugs 0 Features 1
Metric Value
wmc 3
eloc 20
c 4
b 0
f 1
dl 0
loc 25
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handShake(HandlerInterface,MediatorInterface,AbstractListener,AbstractListener) 0 4 1
A main(String[]) 0 17 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