001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.modules.uml.core;
043:
044: import org.netbeans.modules.uml.core.metamodel.basic.basicactions.IReturnAction;
045: import org.netbeans.modules.uml.core.metamodel.behavior.IActionSequence;
046: import org.netbeans.modules.uml.core.metamodel.behavior.IAssignmentAction;
047: import org.netbeans.modules.uml.core.metamodel.behavior.ICallAction;
048: import org.netbeans.modules.uml.core.metamodel.behavior.ICallEvent;
049: import org.netbeans.modules.uml.core.metamodel.behavior.IChangeEvent;
050: import org.netbeans.modules.uml.core.metamodel.behavior.ICreateAction;
051: import org.netbeans.modules.uml.core.metamodel.behavior.IDestroyAction;
052: import org.netbeans.modules.uml.core.metamodel.behavior.ISendAction;
053: import org.netbeans.modules.uml.core.metamodel.behavior.ISignalEvent;
054: import org.netbeans.modules.uml.core.metamodel.behavior.ITerminateAction;
055: import org.netbeans.modules.uml.core.metamodel.behavior.ITimeEvent;
056: import org.netbeans.modules.uml.core.metamodel.behavior.IUninterpretedAction;
057: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IActivity;
058: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IActivityFinalNode;
059: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IActivityPartition;
060: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IControlFlow;
061: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IDecisionNode;
062: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IFlowFinalNode;
063: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IForkNode;
064: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IInitialNode;
065: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IInterruptibleActivityRegion;
066: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IJoinNode;
067: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IMergeNode;
068: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IObjectFlow;
069: import org.netbeans.modules.uml.core.metamodel.common.commonactivities.IObjectNode;
070: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IFinalState;
071: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IProtocolConformance;
072: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IProtocolStateMachine;
073: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IPseudoState;
074: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IState;
075: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IStateMachine;
076: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.ITransition;
077: import org.netbeans.modules.uml.core.metamodel.common.commonstatemachines.IUMLConnectionPoint;
078: import org.netbeans.modules.uml.core.metamodel.core.constructs.IActor;
079: import org.netbeans.modules.uml.core.metamodel.core.constructs.IClass;
080: import org.netbeans.modules.uml.core.metamodel.core.constructs.IDataType;
081: import org.netbeans.modules.uml.core.metamodel.core.constructs.IEnumeration;
082: import org.netbeans.modules.uml.core.metamodel.core.constructs.IEnumerationLiteral;
083: import org.netbeans.modules.uml.core.metamodel.core.constructs.IPrimitiveType;
084: import org.netbeans.modules.uml.core.metamodel.core.foundation.IAbstraction;
085: import org.netbeans.modules.uml.core.metamodel.core.foundation.IConstraint;
086: import org.netbeans.modules.uml.core.metamodel.core.foundation.ICreationFactory;
087: import org.netbeans.modules.uml.core.metamodel.core.foundation.IDependency;
088: import org.netbeans.modules.uml.core.metamodel.core.foundation.IElementImport;
089: import org.netbeans.modules.uml.core.metamodel.core.foundation.IExpression;
090: import org.netbeans.modules.uml.core.metamodel.core.foundation.IFlow;
091: import org.netbeans.modules.uml.core.metamodel.core.foundation.IMultiplicity;
092: import org.netbeans.modules.uml.core.metamodel.core.foundation.IMultiplicityRange;
093: import org.netbeans.modules.uml.core.metamodel.core.foundation.IPackage;
094: import org.netbeans.modules.uml.core.metamodel.core.foundation.IPackageImport;
095: import org.netbeans.modules.uml.core.metamodel.core.foundation.IPermission;
096: import org.netbeans.modules.uml.core.metamodel.core.foundation.ITaggedValue;
097: import org.netbeans.modules.uml.core.metamodel.core.foundation.IUsage;
098: import org.netbeans.modules.uml.core.metamodel.dynamics.IAtomicFragment;
099: import org.netbeans.modules.uml.core.metamodel.dynamics.IChangeSignal;
100: import org.netbeans.modules.uml.core.metamodel.dynamics.ICombinedFragment;
101: import org.netbeans.modules.uml.core.metamodel.dynamics.IGate;
102: import org.netbeans.modules.uml.core.metamodel.dynamics.IInterGateConnector;
103: import org.netbeans.modules.uml.core.metamodel.dynamics.IInteraction;
104: import org.netbeans.modules.uml.core.metamodel.dynamics.IInteractionConstraint;
105: import org.netbeans.modules.uml.core.metamodel.dynamics.IInteractionOccurrence;
106: import org.netbeans.modules.uml.core.metamodel.dynamics.IInteractionOperand;
107: import org.netbeans.modules.uml.core.metamodel.dynamics.ILifeline;
108: import org.netbeans.modules.uml.core.metamodel.dynamics.IMessage;
109: import org.netbeans.modules.uml.core.metamodel.dynamics.IPartDecomposition;
110: import org.netbeans.modules.uml.core.metamodel.dynamics.ITimeSignal;
111: import org.netbeans.modules.uml.core.metamodel.infrastructure.IAssemblyConnector;
112: import org.netbeans.modules.uml.core.metamodel.infrastructure.ICollaboration;
113: import org.netbeans.modules.uml.core.metamodel.infrastructure.IConnector;
114: import org.netbeans.modules.uml.core.metamodel.infrastructure.IConnectorEnd;
115: import org.netbeans.modules.uml.core.metamodel.infrastructure.IDelegationConnector;
116: import org.netbeans.modules.uml.core.metamodel.infrastructure.IPart;
117: import org.netbeans.modules.uml.core.metamodel.infrastructure.IPort;
118: import org.netbeans.modules.uml.core.metamodel.infrastructure.IUMLException;
119: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IAggregation;
120: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IArgument;
121: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IAssociation;
122: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IAssociationEnd;
123: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IAttribute;
124: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.ICollaborationOccurrence;
125: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IGeneralization;
126: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IImplementation;
127: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IIncrement;
128: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IInterface;
129: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.INavigableEnd;
130: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IOperation;
131: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IParameter;
132: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IRealization;
133: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IReception;
134: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.IRoleBinding;
135: import org.netbeans.modules.uml.core.metamodel.infrastructure.coreinfrastructure.ISignal;
136: import org.netbeans.modules.uml.core.metamodel.structure.IArtifact;
137: import org.netbeans.modules.uml.core.metamodel.structure.IAssociationClass;
138: import org.netbeans.modules.uml.core.metamodel.structure.IComment;
139: import org.netbeans.modules.uml.core.metamodel.structure.IComponent;
140: import org.netbeans.modules.uml.core.metamodel.structure.IDeployment;
141: import org.netbeans.modules.uml.core.metamodel.structure.IDeploymentSpecification;
142: import org.netbeans.modules.uml.core.metamodel.structure.IModel;
143: import org.netbeans.modules.uml.core.metamodel.structure.INode;
144: import org.netbeans.modules.uml.core.metamodel.structure.IProject;
145: import org.netbeans.modules.uml.core.metamodel.structure.ISubsystem;
146:
147: public interface IUMLCreationFactory extends ICreationFactory {
148: /**
149: * Creates a new Actor.
150: *
151: * @param outer The enclosing (parent) element.
152: * @return The created IActor instance.
153: */
154: public IActor createActor(Object outer);
155:
156: /**
157: * Create a new Class object.
158: */
159: public IClass createClass(Object outer);
160:
161: /**
162: * Create a new Generalization object.
163: */
164: public IGeneralization createGeneralization(Object outer);
165:
166: /**
167: * Create a new Multiplicity object.
168: */
169: public IMultiplicity createMultiplicity(Object outer);
170:
171: /**
172: * Create a new MultiplicityRange object.
173: */
174: public IMultiplicityRange createMultiplicityRange(Object outer);
175:
176: /**
177: * Create a new Package object.
178: */
179: public IPackage createPackage(Object outer);
180:
181: /**
182: * Creates a new IProtocolStateMachine.
183: * @param object The parent object.
184: * @return The created IProtocolStateMachine.
185: */
186: public IProtocolStateMachine createProtocolStateMachine(
187: Object object);
188:
189: /**
190: * Create a new ElementImport object.
191: */
192: public IElementImport createElementImport(Object outer);
193:
194: /**
195: * Create a new PackageImport object.
196: */
197: public IPackageImport createPackageImport(Object outer);
198:
199: /**
200: * Create a new Expression object.
201: */
202: public IExpression createExpression(Object outer);
203:
204: /**
205: * Create a new Constraint object.
206: */
207: public IConstraint createConstraint(Object outer);
208:
209: /**
210: * Create a new Parameter object.
211: */
212: public IParameter createParameter(Object outer);
213:
214: /**
215: * Create a new Operation object.
216: */
217: public IOperation createOperation(Object outer);
218:
219: /**
220: * Create a new Attribute object.
221: */
222: public IAttribute createAttribute(Object outer);
223:
224: /**
225: * Create a new DataType object.
226: */
227: public IDataType createDataType(Object outer);
228:
229: /**
230: * Create a new PrimitiveType object.
231: */
232: public IPrimitiveType createPrimitiveType(Object outer);
233:
234: /**
235: * Create a new Enumeration object.
236: */
237: public IEnumeration createEnumeration(Object outer);
238:
239: /**
240: * Create a new EnumerationLiteral object.
241: */
242: public IEnumerationLiteral createEnumerationLiteral(Object outer);
243:
244: /**
245: * Create a new AssociationEnd object.
246: */
247: public IAssociationEnd createAssociationEnd(Object outer);
248:
249: /**
250: * Create a new Association object.
251: */
252: public IAssociation createAssociation(Object outer);
253:
254: /**
255: * Create a new NavigableAssociationEnd object.
256: */
257: public INavigableEnd createNavigableEnd(Object outer);
258:
259: /**
260: * Create a new Dependency object.
261: */
262: public IDependency createDependency(Object outer);
263:
264: /**
265: * Create a new Abstraction object.
266: */
267: public IAbstraction createAbstraction(Object outer);
268:
269: /**
270: * Create a new Usage object.
271: */
272: public IUsage createUsage(Object outer);
273:
274: /**
275: * Create a new Permission object.
276: */
277: public IPermission createPermission(Object outer);
278:
279: /**
280: * Create a new Realization object.
281: */
282: public IRealization createRealization(Object outer);
283:
284: /**
285: * Create a new Collaboration object.
286: */
287: public ICollaboration createCollaboration(Object outer);
288:
289: /**
290: * Create a new Part object.
291: */
292: public IPart createPart(Object outer);
293:
294: /**
295: * Create a new ConnectorEnd object.
296: */
297: public IConnectorEnd createConnectorEnd(Object outer);
298:
299: /**
300: * Create a new Connector object.
301: */
302: public IConnector createConnector(Object outer);
303:
304: /**
305: * Create a new RoleBinding object.
306: */
307: public IRoleBinding createRoleBinding(Object outer);
308:
309: /**
310: * Create a new CollaborationOccurrence object.
311: */
312: public ICollaborationOccurrence createCollaborationOccurrence(
313: Object outer);
314:
315: /**
316: * Create a new Implementation object.
317: */
318: public IImplementation createImplementation(Object outer);
319:
320: /**
321: * Create a new Interface object.
322: */
323: public IInterface createInterface(Object outer);
324:
325: /**
326: * Create a new Port object.
327: */
328: public IPort createPort(Object outer);
329:
330: /**
331: * Create a new Component object.
332: */
333: public IComponent createComponent(Object outer);
334:
335: /**
336: * Create a new StateMachine object.
337: */
338: public IStateMachine createStateMachine(Object outer);
339:
340: /**
341: * Create a new Model object.
342: */
343: public IModel createModel(Object outer);
344:
345: /**
346: * Create a new Project object.
347: */
348: public IProject createProject(Object outer);
349:
350: /**
351: * Create a new Flow object.
352: */
353: public IFlow createFlow(Object outer);
354:
355: /**
356: * Create a new AssociationClass object.
357: */
358: public IAssociationClass createAssociationClass(Object outer);
359:
360: /**
361: * Create a new Comment object.
362: */
363: public IComment createComment(Object outer);
364:
365: /**
366: * Create a new Signal object.
367: */
368: public ISignal createSignal(Object outer);
369:
370: /**
371: * Create a new Exception object.
372: */
373: public IUMLException createException(Object outer);
374:
375: /**
376: * Create a new Reception object.
377: */
378: public IReception createReception(Object outer);
379:
380: /**
381: * Create a new Argument object.
382: */
383: public IArgument createArgument(Object outer);
384:
385: /**
386: * Create a new SignalEvent object.
387: */
388: public ISignalEvent createSignalEvent(Object outer);
389:
390: /**
391: * Create a new CallEvent object.
392: */
393: public ICallEvent createCallEvent(Object outer);
394:
395: /**
396: * Create a new TimeEvent object.
397: */
398: public ITimeEvent createTimeEvent(Object outer);
399:
400: /**
401: * Create a new ChangeEvent object.
402: */
403: public IChangeEvent createChangeEvent(Object outer);
404:
405: /**
406: * Create a new ActionSequence object.
407: */
408: public IActionSequence createActionSequence(Object outer);
409:
410: /**
411: * Create a new UninterpretedAction object.
412: */
413: public IUninterpretedAction createUninterpretedAction(Object outer);
414:
415: /**
416: * Create a new TerminateAction object.
417: */
418: public ITerminateAction createTerminateAction(Object outer);
419:
420: /**
421: * Create a new CreateAction object.
422: */
423: public ICreateAction createCreateAction(Object outer);
424:
425: /**
426: * Create a new ReturnAction object.
427: */
428: public IReturnAction createReturnAction(Object outer);
429:
430: /**
431: * Create a new CallAction object.
432: */
433: public ICallAction createCallAction(Object outer);
434:
435: /**
436: * Create a new DestroyAction object.
437: */
438: public IDestroyAction createDestroyAction(Object outer);
439:
440: /**
441: * Create a new SendAction object.
442: */
443: public ISendAction createSendAction(Object outer);
444:
445: /**
446: * Create a new AssignmentAction object.
447: */
448: public IAssignmentAction createAssignmentAction(Object outer);
449:
450: /**
451: * Create a new Activity object.
452: */
453: public IActivity createActivity(Object outer);
454:
455: /**
456: * Create a new ObjectNode object.
457: */
458: public IObjectNode createObjectNode(Object outer);
459:
460: /**
461: * Create a new ControlFlow object.
462: */
463: public IControlFlow createControlFlow(Object outer);
464:
465: /**
466: * Create a new ObjectFlow object.
467: */
468: public IObjectFlow createObjectFlow(Object outer);
469:
470: /**
471: * Create a new InitialNode object.
472: */
473: public IInitialNode createInitialNode(Object outer);
474:
475: /**
476: * Create a new ForkNode object.
477: */
478: public IForkNode createForkNode(Object outer);
479:
480: /**
481: * Create a new DecisionNode object.
482: */
483: public IDecisionNode createDecisionNode(Object outer);
484:
485: /**
486: * Create a new ActivityFinalNode object.
487: */
488: public IActivityFinalNode createActivityFinalNode(Object outer);
489:
490: /**
491: * Create a new FlowFinalNode object.
492: */
493: public IFlowFinalNode createFlowFinalNode(Object outer);
494:
495: /**
496: * Create a new JoinNode object.
497: */
498: public IJoinNode createJoinNode(Object outer);
499:
500: /**
501: * Create a new MergeNode object.
502: */
503: public IMergeNode createMergeNode(Object outer);
504:
505: /**
506: * Create a new ActivityPartition object.
507: */
508: public IActivityPartition createActivityPartition(Object outer);
509:
510: /**
511: * Create a new InterruptibleActivityRegion object.
512: */
513: public IInterruptibleActivityRegion createInterruptibleActivityRegion(
514: Object outer);
515:
516: /**
517: * Create a new State object.
518: */
519: public IState createState(Object outer);
520:
521: /**
522: * Create a new TimeSignal object.
523: */
524: public ITimeSignal createTimeSignal(Object outer);
525:
526: /**
527: * Create a new ChangeSignal object.
528: */
529: public IChangeSignal createChangeSignal(Object outer);
530:
531: /**
532: * Create a new InteractionOperand object.
533: */
534: public IInteractionOperand createInteractionOperand(Object outer);
535:
536: /**
537: * Create a new CombinedFragment object.
538: */
539: public ICombinedFragment createCombinedFragment(Object outer);
540:
541: /**
542: * Create a new InteractionOccurrence object.
543: */
544: public IInteractionOccurrence createInteractionOccurrence(
545: Object outer);
546:
547: /**
548: * Create a new AtomicFragment object.
549: */
550: public IAtomicFragment createAtomicFragment(Object outer);
551:
552: /**
553: * Create a new InteractionConstraint object.
554: */
555: public IInteractionConstraint createInteractionConstraint(
556: Object outer);
557:
558: /**
559: * Create a new Interaction object.
560: */
561: public IInteraction createInteraction(Object outer);
562:
563: /**
564: * Create a new Message object.
565: */
566: public IMessage createMessage(Object outer);
567:
568: /**
569: * Create a new PartDecomposition object.
570: */
571: public IPartDecomposition createPartDecomposition(Object outer);
572:
573: /**
574: * Create a new Lifeline object.
575: */
576: public ILifeline createLifeline(Object outer);
577:
578: /**
579: * Create a new Gate object.
580: */
581: public IGate createGate(Object outer);
582:
583: /**
584: * Create a new InterGateConnector object.
585: */
586: public IInterGateConnector createInterGateConnector(Object outer);
587:
588: /**
589: * Create a new Transition object.
590: */
591: public ITransition createTransition(Object outer);
592:
593: /**
594: * Create a new ConnectionPoint object.
595: */
596: public IUMLConnectionPoint createConnectionPoint(Object outer);
597:
598: /**
599: * Create a new PseudoState object.
600: */
601: public IPseudoState createPseudoState(Object outer);
602:
603: /**
604: * Create a new FinalState object.
605: */
606: public IFinalState createFinalState(Object outer);
607:
608: /**
609: * Create a new ProtocolConformance object.
610: */
611: public IProtocolConformance createProtocolConformance(Object outer);
612:
613: /**
614: * Create a new Aggregation object.
615: */
616: public IAggregation createAggregation(Object outer);
617:
618: /**
619: * Create a new Increment object.
620: */
621: public IIncrement createIncrement(Object outer);
622:
623: /**
624: * Create a new DelegationConnector object.
625: */
626: public IDelegationConnector createDelegationConnector(Object outer);
627:
628: /**
629: * Create a new AssemblyConnector object.
630: */
631: public IAssemblyConnector createAssemblyConnector(Object outer);
632:
633: /**
634: * Create a new Node object.
635: */
636: public INode createNode(Object outer);
637:
638: /**
639: * Create a new Artifact object.
640: */
641: public IArtifact createArtifact(Object outer);
642:
643: /**
644: * Create a new Deployment object.
645: */
646: public IDeployment createDeployment(Object outer);
647:
648: /**
649: * Create a new DeploymentSpecification object.
650: */
651: public IDeploymentSpecification createDeploymentSpecification(
652: Object outer);
653:
654: /**
655: * Create a new Subsystem object.
656: */
657: public ISubsystem createSubsystem(Object outer);
658:
659: /**
660: * Create a new TaggedValue object.
661: */
662: public ITaggedValue createTaggedValue(Object outer);
663: }
|