1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.linecorp.centraldogma.server.plugin;
17
18 import static java.util.Objects.requireNonNull;
19
20 import java.util.concurrent.ScheduledExecutorService;
21
22 import com.linecorp.centraldogma.server.CentralDogmaConfig;
23 import com.linecorp.centraldogma.server.command.Command;
24 import com.linecorp.centraldogma.server.command.CommandExecutor;
25 import com.linecorp.centraldogma.server.storage.project.Project;
26 import com.linecorp.centraldogma.server.storage.project.ProjectManager;
27
28 import io.micrometer.core.instrument.MeterRegistry;
29
30
31
32
33 public class PluginContext {
34
35 private final CentralDogmaConfig config;
36 private final ProjectManager projectManager;
37 private final CommandExecutor commandExecutor;
38 private final MeterRegistry meterRegistry;
39 private final ScheduledExecutorService purgeWorker;
40
41
42
43
44
45
46
47
48
49
50 public PluginContext(CentralDogmaConfig config,
51 ProjectManager projectManager,
52 CommandExecutor commandExecutor,
53 MeterRegistry meterRegistry,
54 ScheduledExecutorService purgeWorker) {
55 this.config = requireNonNull(config, "config");
56 this.projectManager = requireNonNull(projectManager, "projectManager");
57 this.commandExecutor = requireNonNull(commandExecutor, "commandExecutor");
58 this.meterRegistry = requireNonNull(meterRegistry, "meterRegistry");
59 this.purgeWorker = requireNonNull(purgeWorker, "purgeWorker");
60 }
61
62
63
64
65 public CentralDogmaConfig config() {
66 return config;
67 }
68
69
70
71
72 public ProjectManager projectManager() {
73 return projectManager;
74 }
75
76
77
78
79 public CommandExecutor commandExecutor() {
80 return commandExecutor;
81 }
82
83
84
85
86 public MeterRegistry meterRegistry() {
87 return meterRegistry;
88 }
89
90
91
92
93 public ScheduledExecutorService purgeWorker() {
94 return purgeWorker;
95 }
96 }