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.rule;
20  
21  import org.wsmo.service.choreography.rule.*;
22  import org.wsmo.service.orchestration.rule.*;
23  
24  /**
25   * Visitor for Choreography Rules.
26   * 
27   * <pre>
28   *     Created on Jul 26, 2005
29   *     Committed by $Author: haselwanter $
30   *     $Source$
31   * </pre>
32   * 
33   * @author James Scicluna
34   * @author Thomas Haselwanter
35   * @author Holger Lausen
36   * 
37   * @version $Revision: 1860 $ $Date: 2006-11-03 15:43:59 +0200 (Fri, 03 Nov 2006) $
38   */
39  public interface Visitor {
40  
41      /**
42       * Visitor for if-then rules.
43       * 
44       * @param rule
45       *            IfThen rule object to be visited.
46       */
47      public void visitChoreographyIfThen(ChoreographyIfThen rule);
48  
49      /**
50       * Visitor for forAll rules.
51       * 
52       * @param rule
53       *            ForAll rule object to be visited.
54       */
55      public void visitChoreographyForAll(ChoreographyForAll rule);
56  
57      /**
58       * Visitor for choose rules.
59       * 
60       * @param rule
61       *            Choose rule object to be visited.
62       */
63      public void visitChoreographyChoose(ChoreographyChoose rule);
64      
65      /**
66       * Visitor for if-then rules.
67       * 
68       * @param rule
69       *            IfThen rule object to be visited.
70       */
71      public void visitOrchestrationIfThen(OrchestrationIfThen rule);
72  
73      /**
74       * Visitor for forAll rules.
75       * 
76       * @param rule
77       *            ForAll rule object to be visited.
78       */
79      public void visitOrchestrationForAll(OrchestrationForAll rule);
80  
81      /**
82       * Visitor for choose rules.
83       * 
84       * @param rule
85       *            Choose rule object to be visited.
86       */
87      public void visitOrchestrationChoose(OrchestrationChoose rule);
88  
89      /**
90       * Visitor for add(newFact) update rules.
91       * 
92       * @param rule
93       *            Add update rule object to be visited.
94       */
95      public void visitAdd(Add rule);
96  
97      /**
98       * Visitor for delete(oldFact) update rules.
99       * 
100      * @param rule
101      *            Delete update rule object to be visited.
102      */
103     public void visitDelete(Delete rule);
104 
105     /**
106      * Visitor for update(newFact)/update(newFact,oldFact) update rules.
107      * 
108      * @param rule
109      *            Update rule object to be visited.
110      */
111     public void visitUpdate(Update rule);
112     
113     /**
114      * Visitor for rule_1 | rule_2 |....| rule_n
115      * 
116      * @param rules PipedRules to be visited
117      */
118     public void visitChoreographyPipedRules(ChoreographyPipedRules rules);
119     
120     /**
121      * Visitor for rule_1 | rule_2 |....| rule_n
122      * 
123      * @param rules PipedRules to be visited
124      */
125     public void visitOrchestrationPipedRules(OrchestrationPipedRules rules);
126     
127     /**
128      * Visitor for perform rule
129      * 
130      * @param rule Perform rule to be visited
131      */
132     public void visitOrchestrationAchieveGoal(OrchestrationAchieveGoal rule);
133 
134     /**
135      * Visitor for perform rule
136      * 
137      * @param rule Perform rule to be visited
138      */
139     public void visitOrchestrationInvokeService(OrchestrationInvokeService rule);
140 
141     /**
142      * Visitor for perform rule
143      * 
144      * @param rule Perform rule to be visited
145      */
146     public void visitOrchestrationApplyMediation(OrchestrationApplyMediation rule);
147 
148     /**
149      * Visitor for receive rule
150      * 
151      * @param rule receive rule to be visited
152      */
153     public void visitReceive(Receive rule);
154 
155     /**
156      * Visitor for send rule
157      * 
158      * @param rule send rule to be visited
159      */
160     public void visitSend(Send rule);
161 
162 }