package io.pcp.parfait.spring;
import io.pcp.parfait.DynamicMonitoringView;
import io.pcp.parfait.MonitorableRegistry;
import io.pcp.parfait.MonitoringView;
import org.springframework.context.Lifecycle;
/**
* Adapter between a normal MonitoringView and Spring's Lifecycle interface (which conveniently has the exact-same
* methods).
*/
public class SelfStartingMonitoringView implements Lifecycle {
private final DynamicMonitoringView dynamicMonitoringView;
public SelfStartingMonitoringView(DynamicMonitoringView dynamicMonitoringView) {
this.dynamicMonitoringView = dynamicMonitoringView;
}
/**
* @deprecated,
* Use <code>SelfStartingMonitoringView(DynamicMonitoringView dynamicMonitoringView)</code> instead.
*/
@Deprecated
public SelfStartingMonitoringView(MonitoringView monitoringView) {
dynamicMonitoringView = new DynamicMonitoringView(monitoringView);
}
/**
* @deprecated,
* Use <code>SelfStartingMonitoringView(DynamicMonitoringView dynamicMonitoringView)</code> instead.
*/
@Deprecated
public SelfStartingMonitoringView(MonitoringView monitoringView, final long quietPeriodInMillis) {
dynamicMonitoringView = new DynamicMonitoringView(monitoringView, quietPeriodInMillis);
}
/**
* @deprecated,
* Use <code>SelfStartingMonitoringView(DynamicMonitoringView dynamicMonitoringView)</code> instead.
*/
@Deprecated
public SelfStartingMonitoringView(MonitorableRegistry registry, MonitoringView monitoringView) {
dynamicMonitoringView = new DynamicMonitoringView(registry, monitoringView);
}
/**
* @deprecated,
* Use <code>SelfStartingMonitoringView(DynamicMonitoringView dynamicMonitoringView)</code> instead.
*/
@Deprecated
public SelfStartingMonitoringView(MonitorableRegistry registry, MonitoringView monitoringView, final long quietPeriodInMillis) {
dynamicMonitoringView = new DynamicMonitoringView(registry, monitoringView, quietPeriodInMillis);
}
@Override
public void start() {
dynamicMonitoringView.start();
}
@Override
public void stop() {
dynamicMonitoringView.stop();
}
@Override
public boolean isRunning() {
return dynamicMonitoringView.isRunning();
}
public static final long defaultQuietPeriod() {
return DynamicMonitoringView.defaultQuietPeriod();
}
}