1/*2wsmo4j extension - a Choreography API and Reference Implementation3 4Copyright (c) 2005, University of Innsbruck, Austria5 6This library is free software; you can redistribute it and/or modify it under7the terms of the GNU Lesser General Public License as published by the Free8Software Foundation; either version 2.1 of the License, or (at your option)9any later version.10This library is distributed in the hope that it will be useful, but WITHOUT11ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS12FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more13details.14You should have received a copy of the GNU Lesser General Public License along15with this library; if not, write to the Free Software Foundation, Inc.,1659 Temple Place, Suite 330, Boston, MA 02111-1307 USA17*/18 19packageorg.wsmo.service.choreography.rule; 20 21importorg.omwg.ontology.Variable; 22importorg.wsmo.service.choreography.rule.ChoreographyTransitionRule; 23importjava.util.Set; 24 25/**26* A quantified rule is a sub-class of Transition Rule such did it defines27* quantified variables. Such rules take the form of "forall" and "choose"28*29* <pre>30* Created on Jul 26, 200531* Committed by $Author: vassil_momtchev $32* $Source$33* </pre>34*35* @author James Scicluna36* @author Thomas Haselwanter37* @author Holger Lausen38*39* @version $Revision: 1844 $ $Date: 2006-10-24 17:11:48 +0300 (Tue, 24 Oct 2006) $40*/41publicinterfaceChoreographyQuantifiedRuleextendsChoreographyTransitionRule { 42 43/**44* Returns the set of Variable objects which are quantified by the Rule45*46* @return Set of Variable objects47*/48publicSet<Variable> listVariables(); 49 50/**51* Adds a quantified variable object52*53* @param var54* Variable object55*/56publicvoidaddVariable(Variablevar); 57 58/**59* Adds a quantified variable object60*61* @param variables62* Variable object63*/64publicvoidaddVariables(Set<Variable> variables); 65 66/**67* Removes a quantified variable object from the rule68*69* @param var70* Variable object to be removed71*/72publicvoidremoveVariable(Variablevar); 73 74 }