package org.esupportail.helpdesk.domain.departmentSelection; /** * The interface of config readers for the department selection. */ public interface DepartmentSelectionConfigReader { /** * @return the userDefinedConditions */ UserDefinedConditions getUserDefinedConditions(); /** * @return the rules */ Rules getRules(); /** * @return the whenEmptyActions */ Actions getWhenEmptyActions(); /** * @return a formatted XML representation. */ String export(); /** * Move a user-defined condition. * @param index * @param direction * @throws DepartmentSelectionCompileError */ void moveUserDefinedCondition( int index, String direction) throws DepartmentSelectionCompileError; /** * Move a rule. * @param index * @param direction * @throws DepartmentSelectionCompileError */ void moveRule( int index, String direction) throws DepartmentSelectionCompileError; /** * Add a new user-defined condition. * @throws DepartmentSelectionCompileError */ void addNewUserDefinedCondition() throws DepartmentSelectionCompileError; /** * Replace a user-defined condition. * @param index * @param userDefinedCondition * @throws DepartmentSelectionCompileError */ void replaceUserDefinedCondition( int index, UserDefinedCondition userDefinedCondition) throws DepartmentSelectionCompileError; /** * Replace a rule. * @param index * @param rule * @throws DepartmentSelectionCompileError */ void replaceRule( int index, Rule rule) throws DepartmentSelectionCompileError; /** * Add a new rule. * @throws DepartmentSelectionCompileError */ void addNewRule() throws DepartmentSelectionCompileError; /** * Remove the default actions. */ void removeWhenEmptyActions(); }