package org.esupportail.helpdesk.domain.reporting; import java.util.List; import org.esupportail.helpdesk.domain.beans.Action; import org.esupportail.helpdesk.domain.beans.Ticket; import org.esupportail.helpdesk.domain.beans.User; /** * The interface of monitoring senders. */ public interface MonitoringSender extends DomainServiceSettable { /** * Send alerts for a ticket. * @param author * @param ticket * @param excludedUsers * @param expiration */ void ticketMonitoringSendAlerts( User author, Ticket ticket, List<User> excludedUsers, boolean expiration); /** * Send alerts for three actions. * @param author * @param action1 * @param action2 * @param action3 * @param expiration */ void ticketMonitoringSendAlerts( User author, Action action1, Action action2, Action action3, boolean expiration); /** * Send alerts for two actions. * @param author * @param action1 * @param action2 * @param expiration */ void ticketMonitoringSendAlerts( User author, Action action1, Action action2, boolean expiration); /** * Send alerts for one action. * @param author * @param action * @param expiration */ void ticketMonitoringSendAlerts( User author, Action action, boolean expiration); /** * @return the users that monitor a ticket. * @param ticket */ List<User> getMonitoringUsers(Ticket ticket); }