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 }