1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.waarp.vitam.common;
22
23 import fr.gouv.vitam.access.external.client.AdminExternalClientFactory;
24
25 import java.io.File;
26 import java.util.concurrent.atomic.AtomicBoolean;
27
28
29
30
31 public abstract class WaarpMonitor {
32 protected final long elapseTime;
33 private final File stopFile;
34 private final AdminExternalClientFactory adminFactory;
35 private final AtomicBoolean shutdown = new AtomicBoolean(false);
36
37
38
39
40
41 protected WaarpMonitor(final File stopFile,
42 final AdminExternalClientFactory adminFactory,
43 final long elapseTime) {
44 this.stopFile = stopFile;
45 this.adminFactory = adminFactory;
46 this.elapseTime = elapseTime;
47 }
48
49
50
51
52 public File getStopFile() {
53 return stopFile;
54 }
55
56
57
58
59 public AdminExternalClientFactory getAdminFactory() {
60 return adminFactory;
61 }
62
63
64
65
66
67
68 public WaarpMonitor setShutdown(boolean isShutdown) {
69 shutdown.set(isShutdown);
70 return this;
71 }
72
73
74
75
76 public boolean isShutdown() {
77 return stopFile.exists() || shutdown.get();
78 }
79
80 public long getElapseTime() {
81 return elapseTime;
82 }
83 }