/** * ESUP-Portail Helpdesk - Copyright (c) 2004-2009 ESUP-Portail consortium. */ package org.esupportail.helpdesk.domain.departmentSelection.actions; import java.io.Serializable; import org.esupportail.helpdesk.domain.DomainService; import org.esupportail.helpdesk.domain.departmentSelection.DepartmentSelectionCompileError; import org.esupportail.helpdesk.domain.departmentSelection.Result; /** * The interface of actions. */ public interface Action extends Serializable { /** * add departments to an existing set. * @param domainService * @param result the result */ void eval( DomainService domainService, Result result); /** * @param type * @return true if the action has to be evaluated for the given selection type. */ boolean evalForType(int type); /** * Compile the action (check that it has been properly defined). * @throws DepartmentSelectionCompileError */ void compile() throws DepartmentSelectionCompileError; /** * @return the node type. */ String getNodeType(); }