001: /*
002: * The contents of this file are subject to the terms of the Common Development
003: * and Distribution License (the License). You may not use this file except in
004: * compliance with the License.
005: *
006: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007: * or http://www.netbeans.org/cddl.txt.
008: *
009: * When distributing Covered Code, include this CDDL Header Notice in each file
010: * and include the License file at http://www.netbeans.org/cddl.txt.
011: * If applicable, add the following below the CDDL Header, with the fields
012: * enclosed by brackets [] replaced by your own identifying information:
013: * "Portions Copyrighted [year] [name of copyright owner]"
014: *
015: * The Original Software is NetBeans. The Initial Developer of the Original
016: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017: * Microsystems, Inc. All Rights Reserved.
018: */
019:
020: /**
021: *
022: */package org.netbeans.modules.bpel.model.api.support;
023:
024: import org.netbeans.modules.bpel.model.api.Assign;
025: import org.netbeans.modules.bpel.model.api.BooleanExpr;
026: import org.netbeans.modules.bpel.model.api.Branches;
027: import org.netbeans.modules.bpel.model.api.Catch;
028: import org.netbeans.modules.bpel.model.api.CatchAll;
029: import org.netbeans.modules.bpel.model.api.Compensate;
030: import org.netbeans.modules.bpel.model.api.CompensateScope;
031: import org.netbeans.modules.bpel.model.api.CompensationHandler;
032: import org.netbeans.modules.bpel.model.api.CompletionCondition;
033: import org.netbeans.modules.bpel.model.api.Condition;
034: import org.netbeans.modules.bpel.model.api.Copy;
035: import org.netbeans.modules.bpel.model.api.Correlation;
036: import org.netbeans.modules.bpel.model.api.CorrelationContainer;
037: import org.netbeans.modules.bpel.model.api.CorrelationSet;
038: import org.netbeans.modules.bpel.model.api.CorrelationSetContainer;
039: import org.netbeans.modules.bpel.model.api.DeadlineExpression;
040: import org.netbeans.modules.bpel.model.api.Documentation;
041: import org.netbeans.modules.bpel.model.api.Else;
042: import org.netbeans.modules.bpel.model.api.ElseIf;
043: import org.netbeans.modules.bpel.model.api.Empty;
044: import org.netbeans.modules.bpel.model.api.EventHandlers;
045: import org.netbeans.modules.bpel.model.api.Exit;
046: import org.netbeans.modules.bpel.model.api.ExtensibleAssign;
047: import org.netbeans.modules.bpel.model.api.Extension;
048: import org.netbeans.modules.bpel.model.api.ExtensionActivity;
049: import org.netbeans.modules.bpel.model.api.ExtensionContainer;
050: import org.netbeans.modules.bpel.model.api.ExtensionEntity;
051: import org.netbeans.modules.bpel.model.api.FaultHandlers;
052: import org.netbeans.modules.bpel.model.api.FinalCounterValue;
053: import org.netbeans.modules.bpel.model.api.Flow;
054: import org.netbeans.modules.bpel.model.api.For;
055: import org.netbeans.modules.bpel.model.api.ForEach;
056: import org.netbeans.modules.bpel.model.api.From;
057: import org.netbeans.modules.bpel.model.api.FromPart;
058: import org.netbeans.modules.bpel.model.api.FromPartContainer;
059: import org.netbeans.modules.bpel.model.api.If;
060: import org.netbeans.modules.bpel.model.api.Import;
061: import org.netbeans.modules.bpel.model.api.Invoke;
062: import org.netbeans.modules.bpel.model.api.Link;
063: import org.netbeans.modules.bpel.model.api.LinkContainer;
064: import org.netbeans.modules.bpel.model.api.Literal;
065: import org.netbeans.modules.bpel.model.api.MessageExchange;
066: import org.netbeans.modules.bpel.model.api.MessageExchangeContainer;
067: import org.netbeans.modules.bpel.model.api.OnAlarmEvent;
068: import org.netbeans.modules.bpel.model.api.OnAlarmPick;
069: import org.netbeans.modules.bpel.model.api.OnEvent;
070: import org.netbeans.modules.bpel.model.api.OnMessage;
071: import org.netbeans.modules.bpel.model.api.PartnerLink;
072: import org.netbeans.modules.bpel.model.api.PartnerLinkContainer;
073: import org.netbeans.modules.bpel.model.api.PatternedCorrelation;
074: import org.netbeans.modules.bpel.model.api.PatternedCorrelationContainer;
075: import org.netbeans.modules.bpel.model.api.Pick;
076: import org.netbeans.modules.bpel.model.api.Process;
077: import org.netbeans.modules.bpel.model.api.Query;
078: import org.netbeans.modules.bpel.model.api.ReThrow;
079: import org.netbeans.modules.bpel.model.api.Receive;
080: import org.netbeans.modules.bpel.model.api.RepeatEvery;
081: import org.netbeans.modules.bpel.model.api.RepeatUntil;
082: import org.netbeans.modules.bpel.model.api.Reply;
083: import org.netbeans.modules.bpel.model.api.Scope;
084: import org.netbeans.modules.bpel.model.api.Sequence;
085: import org.netbeans.modules.bpel.model.api.ServiceRef;
086: import org.netbeans.modules.bpel.model.api.Source;
087: import org.netbeans.modules.bpel.model.api.SourceContainer;
088: import org.netbeans.modules.bpel.model.api.StartCounterValue;
089: import org.netbeans.modules.bpel.model.api.Target;
090: import org.netbeans.modules.bpel.model.api.TargetContainer;
091: import org.netbeans.modules.bpel.model.api.TerminationHandler;
092: import org.netbeans.modules.bpel.model.api.Throw;
093: import org.netbeans.modules.bpel.model.api.To;
094: import org.netbeans.modules.bpel.model.api.ToPart;
095: import org.netbeans.modules.bpel.model.api.ToPartContainer;
096: import org.netbeans.modules.bpel.model.api.Validate;
097: import org.netbeans.modules.bpel.model.api.Variable;
098: import org.netbeans.modules.bpel.model.api.VariableContainer;
099: import org.netbeans.modules.bpel.model.api.Wait;
100: import org.netbeans.modules.bpel.model.api.While;
101:
102: /**
103: * This visitor should implement logic of navigation in tree by itself.
104: *
105: * @author ads
106: *
107: */
108: public interface BpelModelVisitor {
109: /**
110: * Visit process element.
111: *
112: * @param process
113: * visited object.
114: */
115: void visit(Process process);
116:
117: /**
118: * Visit empty element.
119: *
120: * @param empty
121: * visited object.
122: */
123: void visit(Empty empty);
124:
125: /**
126: * Visit invoke element.
127: *
128: * @param invoke
129: * visited object.
130: */
131: void visit(Invoke invoke);
132:
133: /**
134: * Visit receive element.
135: *
136: * @param receive
137: * visited object.
138: */
139: void visit(Receive receive);
140:
141: /**
142: * Visit reply element.
143: *
144: * @param reply
145: * visited object.
146: */
147: void visit(Reply reply);
148:
149: /**
150: * Visit assign element.
151: *
152: * @param assign
153: * visited object.
154: */
155: void visit(Assign assign);
156:
157: /**
158: * Visit wait element.
159: *
160: * @param wait
161: * visited object.
162: */
163: void visit(Wait wait);
164:
165: /**
166: * Visit throw element.
167: *
168: * @param throv
169: * visited object.
170: */
171: void visit(Throw throv);
172:
173: /**
174: * Visit terminate element.
175: *
176: * @param terminate
177: * visited object.
178: */
179: void visit(Exit terminate);
180:
181: /**
182: * Visit flow element.
183: *
184: * @param flow
185: * visited object.
186: */
187: void visit(Flow flow);
188:
189: /**
190: * Visit while element.
191: *
192: * @param whil
193: * visited object.
194: */
195: void visit(While whil);
196:
197: /**
198: * Visit sequence element.
199: *
200: * @param sequence
201: * visited object.
202: */
203: void visit(Sequence sequence);
204:
205: /**
206: * Visit pick element.
207: *
208: * @param pick
209: * visited object.
210: */
211: void visit(Pick pick);
212:
213: /**
214: * Visit scope element.
215: *
216: * @param scope
217: * visited object.
218: */
219: void visit(Scope scope);
220:
221: /**
222: * Visit partnerLinks element.
223: *
224: * @param container
225: * visited object.
226: */
227: void visit(PartnerLinkContainer container);
228:
229: /**
230: * Visit partnerLink element.
231: *
232: * @param link
233: * visited object.
234: */
235: void visit(PartnerLink link);
236:
237: /**
238: * Visit faultHandlers element.
239: *
240: * @param handlers
241: * visited object.
242: */
243: void visit(FaultHandlers handlers);
244:
245: /**
246: * Visit catch element.
247: *
248: * @param catc
249: * visited object.
250: */
251: void visit(Catch catc);
252:
253: /**
254: * Visit eventHandlers element.
255: *
256: * @param handlers
257: * visited object.
258: */
259: void visit(EventHandlers handlers);
260:
261: /**
262: * Visit onMessage element.
263: *
264: * @param message
265: * visited object.
266: */
267: void visit(OnMessage message);
268:
269: /**
270: * Visit compensationHandler element.
271: *
272: * @param handler
273: * visited object.
274: */
275: void visit(CompensationHandler handler);
276:
277: /**
278: * Visit variables element.
279: *
280: * @param container
281: * visited object.
282: */
283: void visit(VariableContainer container);
284:
285: /**
286: * Visit variable element.
287: *
288: * @param variable
289: * visited object.
290: */
291: void visit(Variable variable);
292:
293: /**
294: * Visit correlationSets element.
295: *
296: * @param container
297: * visited object.
298: */
299: void visit(CorrelationSetContainer container);
300:
301: /**
302: * Visit correlationSet element.
303: *
304: * @param set
305: * visited object.
306: */
307: void visit(CorrelationSet set);
308:
309: /**
310: * Visit source element.
311: *
312: * @param source
313: * visited object.
314: */
315: void visit(Source source);
316:
317: /**
318: * Visit target element.
319: *
320: * @param target
321: * visited object.
322: */
323: void visit(Target target);
324:
325: /**
326: * Visit correlations element.
327: *
328: * @param container
329: * visited object.
330: */
331: void visit(CorrelationContainer container);
332:
333: /**
334: * Visit correlation element.
335: *
336: * @param correlation
337: * visited object.
338: */
339: void visit(Correlation correlation);
340:
341: /**
342: * Visit correlationWithPattern element.
343: *
344: * @param correlation
345: * visited object.
346: */
347: void visit(PatternedCorrelation correlation);
348:
349: /**
350: * Visit correlationsWithPattern element.
351: *
352: * @param container
353: * visited object.
354: */
355: void visit(PatternedCorrelationContainer container);
356:
357: /**
358: * Visit to element.
359: *
360: * @param to
361: * visited object.
362: */
363: void visit(To to);
364:
365: /**
366: * Visit from element.
367: *
368: * @param from
369: * visited object.
370: */
371: void visit(From from);
372:
373: /**
374: * Visit compensate element.
375: *
376: * @param compensate
377: * visited object.
378: */
379: void visit(Compensate compensate);
380:
381: /**
382: * Visit links element.
383: *
384: * @param container
385: * visited object.
386: */
387: void visit(LinkContainer container);
388:
389: /**
390: * Visit link element.
391: *
392: * @param link
393: * visited object.
394: */
395: void visit(Link link);
396:
397: /**
398: * Visit copy element.
399: *
400: * @param copy
401: * visited object.
402: */
403: void visit(Copy copy);
404:
405: /**
406: * Visit activityOrCompensateContainer ( catchAll tag ).
407: *
408: * @param holder
409: * visited object.
410: */
411: void visit(CatchAll holder);
412:
413: /**
414: * Visit Boolean-expr element.
415: * @param expr visited object.
416: */
417: void visit(BooleanExpr expr);
418:
419: /**
420: * Visit branches element.
421: * @param branches visited object.
422: */
423: void visit(Branches branches);
424:
425: /**
426: * Visit completionCondition element.
427: * @param condition visited object.
428: */
429: void visit(CompletionCondition condition);
430:
431: /**
432: * Visit condition element.
433: * @param condition visited object.
434: */
435: void visit(Condition condition);
436:
437: /**
438: * Visit Deadline-Expr element.
439: * @param expression visited object.
440: */
441: void visit(DeadlineExpression expression);
442:
443: /**
444: * Visit Documentation element.
445: * @param documentation visited object.
446: */
447: void visit(Documentation documentation);
448:
449: /**
450: * Visit Else element.
451: * @param els visited object.
452: */
453: void visit(Else els);
454:
455: /**
456: * Visit ElseIf element.
457: * @param elseIf visited object.
458: */
459: void visit(ElseIf elseIf);
460:
461: /**
462: * Visit ExtensibleAssign element.
463: * @param assign visited object.
464: */
465: void visit(ExtensibleAssign assign);
466:
467: /**
468: * Visit ExtensionActivity element.
469: * @param activity visited object.
470: */
471: void visit(ExtensionActivity activity);
472:
473: /**
474: * Visit Validate element.
475: * @param validate visited object.
476: */
477: void visit(Validate validate);
478:
479: /**
480: * Visit ToPart element.
481: * @param toPart visited object.
482: */
483: void visit(ToPart toPart);
484:
485: /**
486: * Visit ToPartContainer element.
487: * @param toPartContainer visited object.
488: */
489: void visit(ToPartContainer toPartContainer);
490:
491: /**
492: * Visit TerminationHandler element.
493: * @param handler visited object.
494: */
495: void visit(TerminationHandler handler);
496:
497: /**
498: * Visit TargetContainer element.
499: * @param container visited object.
500: */
501: void visit(TargetContainer container);
502:
503: /**
504: * Visit StartCounterValue element.
505: * @param value visited object.
506: */
507: void visit(StartCounterValue value);
508:
509: /**
510: * Visit SourceContainer element.
511: * @param container visited object.
512: */
513: void visit(SourceContainer container);
514:
515: /**
516: * Visit ReThrow element.
517: * @param rethrow visited object.
518: */
519: void visit(ReThrow rethrow);
520:
521: /**
522: * Visit RepeatUntil element.
523: * @param repeatUntil visited object.
524: */
525: void visit(RepeatUntil repeatUntil);
526:
527: /**
528: * Visit RepeatEvery element.
529: * @param repeatEvery visited object.
530: */
531: void visit(RepeatEvery repeatEvery);
532:
533: /**
534: * Visit OnEvent element.
535: * @param event visited object.
536: */
537: void visit(OnEvent event);
538:
539: /**
540: * Visit OnAlarmPick element.
541: * @param alarmPick visited object.
542: */
543: void visit(OnAlarmPick alarmPick);
544:
545: /**
546: * Visit OnAlarmEvent element.
547: * @param alarmEvent visited object.
548: */
549: void visit(OnAlarmEvent alarmEvent);
550:
551: /**
552: * Visit ExtensionContainer element.
553: * @param container visited object.
554: */
555: void visit(ExtensionContainer container);
556:
557: /**
558: * Visit Extension element.
559: * @param extension visited object.
560: */
561: void visit(Extension extension);
562:
563: /**
564: * Visit FinalCounterValue element.
565: * @param value visited object.
566: */
567: void visit(FinalCounterValue value);
568:
569: /**
570: * Visit ForEach element.
571: * @param forEach visited object.
572: */
573: void visit(ForEach forEach);
574:
575: /**
576: * Visit Literal element.
577: * @param literal visited object.
578: */
579: void visit(Literal literal);
580:
581: /**
582: * Visit Import element.
583: * @param imp visited object.
584: */
585: void visit(Import imp);
586:
587: /**
588: * Visit If element.
589: * @param iff visited object.
590: */
591: void visit(If iff);
592:
593: /**
594: * Visit FromPart element.
595: * @param fromPart visited object.
596: */
597: void visit(FromPart fromPart);
598:
599: /**
600: * Visit FromPartContainer element.
601: * @param fromPartContainer visited object.
602: */
603: void visit(FromPartContainer fromPartContainer);
604:
605: /**
606: * Visit For element.
607: * @param fo visited object.
608: */
609: void visit(For fo);
610:
611: /**
612: * Visit MessageExchangeContainer element.
613: * @param container visited object.
614: */
615: void visit(MessageExchangeContainer container);
616:
617: /**
618: * Visit MessageExchange element.
619: * @param exchange visited object.
620: */
621: void visit(MessageExchange exchange);
622:
623: /**
624: * Visit ServiceRef element.
625: * @param ref visited object.
626: */
627: void visit(ServiceRef ref);
628:
629: /**
630: * Visit extension entity.
631: * @param entity visited extension object.
632: */
633: void visit(ExtensionEntity entity);
634:
635: /**
636: * Visit CompensateScope element.
637: * @param compensateScope visited object.
638: */
639: void visit(CompensateScope compensateScope);
640:
641: /**
642: * Visit Query element.
643: * @param query visited object.
644: */
645: void visit(Query query);
646:
647: }
|