package rmblworx.tools.timey.persistence.service; import java.util.List; import rmblworx.tools.timey.vo.AlarmDescriptor; /* * Copyright 2014-2015 Christian Raue * MIT License http://opensource.org/licenses/mit-license.php */ /** * Schnittstellenbeschreibung für den Dienst zum verwalten von {@link rmblworx.tools.timey.persistence.model.AlarmEntity Alarmzeitpunkten}. * @author mmatthies */ public interface IAlarmService { /** * Persistiert den Alarmzeitpunkt. * * @param descriptor * Referenz auf das Objekt das den Alarmzeitpunkt beschreibt * @return true wenn erfolgreich sonst false */ Boolean create(AlarmDescriptor descriptor); /** * Entfernt den Alarmzeitpunkt aus der Datenbank. * * @param descriptor * Beschreibung des Alarmzeitpunktes * @return true wenn erfolgreich sonst false oder {@code null} wenn Alarmzeitpunkt nicht vorhanden. */ Boolean delete(AlarmDescriptor descriptor); /** * Liefert alle Alarmzeitpunkte in der Datenbank. * * @return unveränderliche Liste mit allen Alarmzeitpunkten oder leere Liste */ List<AlarmDescriptor> getAll(); /** * Liefert die Aussage ob der Alarmzeitpunkt aktiv oder inaktiv ist. * * @param descriptor * Zeitobjekt das den Alarmzeitpunkt beschreibt * @return true wenn aktiv sonst false oder {@code null} wenn Alarmzeitpunkt nicht vorhanden */ Boolean isActivated(AlarmDescriptor descriptor); /** * Setzt den Alarmzeitpunkt auf den uebergebenen Status in der Datenbank. * * @param descriptor * Alarmzeitpunkt. * @param isActivated * Referenz auf das booleansche Objekt das den Zustand beschreibt. * @return true wenn erfolgreich sonst false oder {@code null} wenn Alarmzeitpunkt nicht vorhanden */ Boolean setState(AlarmDescriptor descriptor, Boolean isActivated); }