package de.is24.util.monitoring;
/**
* Plugin base class with suitable equals and hashCode implementations and default handling for
* HighRate and SingleEvent.
*
* Plugins are used via InApplicationMonitor.getInstance().registerPlugin(new MyPlugin());
*/
public abstract class AbstractMonitorPlugin implements MonitorPlugin {
@Override
public void register() {
InApplicationMonitor.getInstance().registerPlugin(this);
}
@Override
public boolean equals(Object other) {
return (other instanceof AbstractMonitorPlugin) && ((MonitorPlugin) other).getUniqueName().equals(getUniqueName());
}
@Override
public int hashCode() {
return getUniqueName().hashCode();
}
}