/******************************************************************************* * Copyright 2006 - 2012 Vienna University of Technology, * Department of Software Technology and Interactive Systems, IFS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This work originates from the Planets project, co-funded by the European Union under the Sixth Framework Programme. ******************************************************************************/ package eu.scape_project.planning.model.sensitivity; import eu.scape_project.planning.model.beans.ResultNode; /** * Implementation of this inteface are used during the sensitivity analysis to * evaluate the results. * * The sensitivity analysis performes modifications to the tree and its weights. * Methods of this intervace are called to evaluate the effects of these modifications. * * Each node of the tree is processed during the sensitivity analysis at least once. * * @author Jan Zarnikov * */ public interface ISensitivityTest { /** * Called before a new node is processed. * @param node The node that will be subject to the modifications. */ public void beforeNode(ResultNode node); /** * After the node has been processed. * You probably want to store the result for this node. To do so use ResultNode.setSensitivityAnalysisResult(). * @param node */ public void afterNode(ResultNode node); /** * Each node can be processed several times (more rounds of modifications). This method is called before each iteration. * @param node */ public void beforeIteration(ResultNode node); /** * Each node can be processed several times (more rounds of modifications). This method is called after each iteration. * @param node */ public void afterIteration(ResultNode node); }