/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.domain.departmentSelection; import java.io.Serializable; import java.net.InetAddress; import java.util.List; import org.esupportail.helpdesk.domain.DomainService; import org.esupportail.helpdesk.domain.beans.Department; import org.esupportail.helpdesk.domain.beans.User; /** * The interface of department selectors. */ public interface DepartmentSelector extends Serializable { /** * Used for parameter type when looking for departments visible on ticket creation. */ int TICKET_CREATION_SELECTION = 1; /** * Used for parameter type when looking for departments visible on the control panel. */ int TICKET_VIEW_SELECTION = 2; /** * Used for parameter type when looking for departments visible for FAQs. */ int FAQ_VIEW_SELECTION = 3; /** * Used for parameter type when looking for departments visible for search. */ int SEARCH_SELECTION = 4; /** * return the list of the departments that a user will see on ticket creation. * @param domainService * @param user the user * @param client the client * @return a list of departments. */ List<Department> getTicketCreationDepartments( DomainService domainService, User user, InetAddress client); /** * return the list of the departments that a user will see on control panel. * @param domainService * @param user the user * @param client the client * @return a list of departments. */ List<Department> getTicketViewDepartments( DomainService domainService, User user, InetAddress client); /** * return the list of the departments that a user will see for the FAQs. * @param domainService * @param user the user * @param client the client * @return a list of departments. */ List<Department> getFaqViewDepartments( DomainService domainService, User user, InetAddress client); /** * @return the configuration as a string. */ String exportConfig(); }