1 package org.csc.phynixx.watchdog;
2
3 /*
4 * #%L
5 * phynixx-watchdog
6 * %%
7 * Copyright (C) 2014 csc
8 * %%
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * #L%
21 */
22
23
24 import java.util.Set;
25
26 public interface IWatchdog {
27
28 Long getId();
29
30 long getCheckInterval();
31
32 void registerCondition(IWatchedCondition cond);
33
34 int getCountRegisteredConditions();
35
36 Set<IWatchedCondition> getAliveConditions();
37
38 void unregisterCondition(IWatchedCondition cond);
39
40 boolean isKilled();
41
42 boolean isStale();
43
44 void activate();
45
46 void deactivate();
47
48 /**
49 * if the watchdog watches only conditions that are irrelevant it is marked as useles
50 * and it can be shut down.
51 *
52 * @return
53 */
54 boolean isUseless();
55
56 boolean isAlive();
57
58 String[] getConditionInfos();
59
60 String getWatchdogInfo();
61
62
63 }