View Javadoc

1   /*
2    wsmo4j extension - a Choreography API and Reference Implementation
3   
4    Copyright (c) 2005, University of Innsbruck, Austria
5   
6    This library is free software; you can redistribute it and/or modify it under
7    the terms of the GNU Lesser General Public License as published by the Free
8    Software Foundation; either version 2.1 of the License, or (at your option)
9    any later version.
10   This library is distributed in the hope that it will be useful, but WITHOUT
11   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12   FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13   details.
14   You should have received a copy of the GNU Lesser General Public License along
15   with this library; if not, write to the Free Software Foundation, Inc.,
16   59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17   */
18  
19  package org.wsmo.service.choreography.rule;
20  
21  import org.wsmo.service.rule.*;
22  
23  import java.util.Set;
24  
25  /**
26   * Defines the simplest type of transition rule which takes the form of "if
27   * Condition then Rule".
28   * 
29   * <pre>
30   *      Created on Jul 26, 2005
31   *      Committed by $Author: vassil_momtchev $
32   *      $Source$
33   * </pre>
34   * 
35   * @author James Scicluna
36   * @author Thomas Haselwanter
37   * @author Holger Lausen
38   * 
39   * @version $Revision: 1844 $ $Date: 2006-10-24 17:11:48 +0300 (Tue, 24 Oct 2006) $
40   */
41  public interface ChoreographyTransitionRule extends ChoreographyRule {
42  
43      /**
44       * Returns the Logical Expression which defines the condition of the rule.
45       * 
46       * @return Logical Expression defining the condition of the rule
47       */
48      public Condition getCondition();
49  
50      /**
51       * Sets the Conditon of the rule.
52       * 
53       * @param condition
54       *            A Condition object defining the condition of the rule
55       */
56      public void setCondition(Condition condition);
57  
58      /**
59       * Returns the list of Rule objects nested inside the transition rule
60       * 
61       * @return Set of Rule objects
62       */
63      public Set<ChoreographyRule> listNestedRules();
64      
65      
66      /**
67       * Sets the inner rules of the rule
68       * 
69       * @param rules A set of Rule objects to be set
70       * as the inner rules
71       */
72      public void setRules(Set<ChoreographyRule> rules);
73  
74      /**
75       * Removes all the nested rules
76       * 
77       */
78      public void clearNestedRules();
79  
80      /**
81       * Adds a nested Rule object
82       * 
83       * @param rule
84       *            Adds a nested Rule object
85       */
86      public void addRule(ChoreographyRule rule);
87  
88      /**
89       * Adds a set of rules
90       * 
91       * @param rules
92       *            The set of Rule objects to be added
93       */
94      public void addRules(Set<ChoreographyRule> rules);
95  
96      /**
97       * Removes a nested rule
98       * 
99       * @param rule
100      *            Rule object to be removed
101      */
102     public void removeRule(ChoreographyRule rule);
103 
104 }