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;
023:
024: import org.netbeans.modules.bpel.model.api.events.ChangeEventListener;
025: import org.netbeans.modules.bpel.model.api.support.ActivityDescriptor;
026:
027: /**
028: * This is factory class for entities creation. Entity that was created via this
029: * builder will not have UID. Method getUID will return null for such entity.
030: *
031: * @author ads
032: */
033: public interface BPELElementsBuilder {
034:
035: /**
036: * Creates activity by its <code>descriptor</code>.
037: *
038: * @param descriptor
039: * description of activity.
040: * @return instantiated activity
041: */
042: ExtendableActivity createActivity(ActivityDescriptor descriptor);
043:
044: /**
045: * @return instantiated process.
046: */
047: Process createProcess();
048:
049: /**
050: * @return instantiated empty.
051: */
052: Empty createEmpty();
053:
054: /**
055: * @return instantiated invoke.
056: */
057: Invoke createInvoke();
058:
059: /**
060: * @return instantiated receive.
061: */
062: Receive createReceive();
063:
064: /**
065: * @return instantiated reply.
066: */
067: Reply createReply();
068:
069: /**
070: * @return instantiated assign.
071: */
072: Assign createAssign();
073:
074: /**
075: * @return instantiated wait.
076: */
077: Wait createWait();
078:
079: /**
080: * @return instantiated throw.
081: */
082: Throw createThrow();
083:
084: /**
085: * @return instantiated terminate.
086: */
087: Exit createExit();
088:
089: /**
090: * @return instantiated flow.
091: */
092: Flow createFlow();
093:
094: /**
095: * @return instantiated while.
096: */
097: While createWhile();
098:
099: /**
100: * @return instantiated sequence.
101: */
102: Sequence createSequence();
103:
104: /**
105: * @return instantiated pick.
106: */
107: Pick createPick();
108:
109: /**
110: * @return instantiated scope.
111: */
112: Scope createScope();
113:
114: /**
115: * @return instantiated forEach.
116: */
117: ForEach createForEach();
118:
119: /**
120: * @return instantiated if.
121: */
122: If createIf();
123:
124: /**
125: * @return instantiated repeatUntil.
126: */
127: RepeatUntil createRepeatUntil();
128:
129: /**
130: * @return instantiated rethrow.
131: */
132: ReThrow createRethrow();
133:
134: /**
135: * @return instantiated validate.
136: */
137: Validate createValidate();
138:
139: /**
140: * @return instantiated partnerLinks.
141: */
142: PartnerLinkContainer createPartnerLinkContainer();
143:
144: /**
145: * @return instantiated partnerLink.
146: */
147: PartnerLink createPartnerLink();
148:
149: /**
150: * @return instantiated faultHandlers.
151: */
152: FaultHandlers createFaultHandlers();
153:
154: /**
155: * @return instantiated catch.
156: */
157: Catch createCatch();
158:
159: /**
160: * @return instantiated eventHandlers.
161: */
162: EventHandlers createEventHandlers();
163:
164: /**
165: * @return instantiated onMessage.
166: */
167: OnMessage createOnMessage();
168:
169: /**
170: * @return instantiated compensationHandler.
171: */
172: CompensationHandler createCompenstaionHandler();
173:
174: /**
175: * @return instantiated variables.
176: */
177: VariableContainer createVariableContainer();
178:
179: /**
180: * @return instantiated variable.
181: */
182: Variable createVariable();
183:
184: /**
185: * @return instantiated correlationSets.
186: */
187: CorrelationSetContainer createCorrelationSetContainer();
188:
189: /**
190: * @return instantiated correlationSet
191: */
192: CorrelationSet createCorrelationSet();
193:
194: /**
195: * @return instantiated source.
196: */
197: Source createSource();
198:
199: /**
200: * @return instantiated target.
201: */
202: Target createTarget();
203:
204: /**
205: * @return instantiated correlations.
206: */
207: CorrelationContainer createCorrelationContainer();
208:
209: /**
210: * @return instantiated correlation.
211: */
212: Correlation createCorrelation();
213:
214: /**
215: * @return instantiated correlationWithPattern.
216: */
217: PatternedCorrelation createPatternedCorrelation();
218:
219: /**
220: * @return instantiated correlationsWithPattern.
221: */
222: PatternedCorrelationContainer createPatternedCorrelationContainer();
223:
224: /**
225: * @return instantiated to.
226: */
227: To createTo();
228:
229: /**
230: * @return instantiated from.
231: */
232: From createFrom();
233:
234: /**
235: * @return instantiated compensate.
236: */
237: Compensate createCompensate();
238:
239: /**
240: * @return instantiated compensateScope.
241: */
242: CompensateScope createCompensateScope();
243:
244: /**
245: * @return instantiated links.
246: */
247: LinkContainer createLinkContainer();
248:
249: /**
250: * @return instantiated link.
251: */
252: Link createLink();
253:
254: /**
255: * @return instantiated copy.
256: */
257: Copy createCopy();
258:
259: /**
260: * @return instantiated catchAll ( activityOrCompensateContainer ).
261: */
262: CatchAll createCatchAll();
263:
264: /**
265: * @return instantiated boolean expression.
266: */
267: BooleanExpr createCondition();
268:
269: /**
270: * @return instantiated branches.
271: */
272: Branches createBranches();
273:
274: /**
275: * @return instantiated completionCondition.
276: */
277: CompletionCondition createCompletionCondition();
278:
279: /**
280: * @return instantiated transitionCondition.
281: */
282: Condition createTransitionCondition();
283:
284: /**
285: * @return instantiated joinCondition.
286: */
287: Condition createJoinCondition();
288:
289: /**
290: * @return instantiated Deadline Expression.
291: */
292: DeadlineExpression createUntil();
293:
294: /**
295: * @return instantiated documentation.
296: */
297: Documentation createDocumentation();
298:
299: /**
300: * @return instantiated else.
301: */
302: Else createElse();
303:
304: /**
305: * @return instantiated elseif.
306: */
307: ElseIf createElseIf();
308:
309: /**
310: * @return instantiated toPart.
311: */
312: ToPart createToPart();
313:
314: /**
315: * @return instantiated toParts.
316: */
317: ToPartContainer createToPartContainer();
318:
319: /**
320: * @return instantiated terminationHandler.
321: */
322: TerminationHandler createTerminationHandler();
323:
324: /**
325: * @return instantiated targets.
326: */
327: TargetContainer createTargetContainer();
328:
329: /**
330: * @return instantiated startCounterValue.
331: */
332: StartCounterValue createStartCounterValue();
333:
334: /**
335: * @return instantiated sources.
336: */
337: SourceContainer createSourceContainer();
338:
339: /**
340: * @return instantiated repeatEvery.
341: */
342: RepeatEvery createRepeatEvery();
343:
344: /**
345: * @return instantiated onEvent.
346: */
347: OnEvent createOnEvent();
348:
349: /**
350: * @return instantiated onAlarm for Pick OnAlarmPick element.
351: */
352: OnAlarmPick createOnAlarmPick();
353:
354: /**
355: * @return instantiated onAlarm for EventHandlers OnAlarmEvent element.
356: */
357: OnAlarmEvent createOnAlarmEvent();
358:
359: /**
360: * @return instantiated extensions.
361: */
362: ExtensionContainer createExtensionContainer();
363:
364: /**
365: * @return instantiated extension.
366: */
367: Extension createExtension();
368:
369: /**
370: * @return instantiated finalCounterValue.
371: */
372: FinalCounterValue createFinalCounterValue();
373:
374: /**
375: * @return instantiated literal.
376: */
377: Literal createLiteral();
378:
379: /**
380: * @return instantiated import.
381: */
382: Import createImport();
383:
384: /**
385: * @return instantiated fromPart.
386: */
387: FromPart createFromPart();
388:
389: /**
390: * @return instantiated fromParts.
391: */
392: FromPartContainer createFromPartContainer();
393:
394: /**
395: * @return instantiated for.
396: */
397: For createFor();
398:
399: /**
400: * @return instantiated messageExchages element.
401: */
402: MessageExchangeContainer createMessageExchangeContainer();
403:
404: /**
405: * @return instantiated messageExchage element.
406: */
407: MessageExchange createMessageExchange();
408:
409: /**
410: * @return instantiated "service-ref" element.
411: */
412: ServiceRef createServiceRef();
413:
414: /**
415: * @return instantiated query element.
416: */
417: Query createQuery();
418:
419: /**
420: * Creates extension element.
421: * @param <T> Class for element type.
422: * @param clazz Type for extension element.
423: * @return instantiated extension element with specified type.
424: */
425: <T extends ExtensionEntity> T createExtensionEntity(Class<T> clazz);
426:
427: /**
428: * Add change listener to builder. Those listeners will be notified with
429: * only events that concern unattached elements.
430: *
431: * @param listener
432: * listener for add.
433: */
434: void addEntityChangeListener(ChangeEventListener listener);
435:
436: /**
437: * Removes change listener from builder.
438: *
439: * @param listener
440: * listener for remove.
441: */
442: void removeEntityChangeListener(ChangeEventListener listener);
443:
444: }
|