-
Notifications
You must be signed in to change notification settings - Fork 273
Expand file tree
/
Copy pathSubwayController.java
More file actions
44 lines (37 loc) · 1.43 KB
/
Copy pathSubwayController.java
File metadata and controls
44 lines (37 loc) · 1.43 KB
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
package subway.controller;
import subway.controller.initialization.InitialLine;
import subway.controller.initialization.InitialSection;
import subway.controller.initialization.InitialStation;
import subway.service.LineService;
import subway.service.SectionService;
import subway.service.StationService;
import java.util.Arrays;
import java.util.List;
public class SubwayController {
public static void initStation() {
Arrays.stream(InitialStation.values())
.forEach(station -> StationService.addStation(station.getName()));
}
public static void initLine() {
Arrays.stream(InitialLine.values())
.forEach(line -> LineService.addLine(line.getName()));
Arrays.stream(InitialLine.values())
.forEach(line -> SectionService.createSection(line.getName()));
}
public static void initSection() {
Arrays.stream(InitialSection.values())
.forEach(initialSection -> initSection(initialSection));
}
public static void initSection(InitialSection initialSection) {
String lineName = initialSection.getLineName();
List<String> stationNames = initialSection.getStationNames();
stationNames.stream()
.forEach(stationName -> SectionService.addSection(lineName, stationName));
}
public static void run() {
initStation();
initLine();
initSection();
MainController.run();
}
}